user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Eric Wong <e@80x24.org>
Cc: meta@public-inbox.org
Subject: Re: msgmap serial number regeneration [was: Q: V2 format]
Date: Mon, 16 Jul 2018 10:20:27 -0500	[thread overview]
Message-ID: <87tvozqkas.fsf@xmission.com> (raw)
In-Reply-To: <20180715031823.GA24609@dcvr> (Eric Wong's message of "Sun, 15 Jul 2018 03:18:23 +0000")

Eric Wong <e@80x24.org> writes:

> "Eric W. Biederman" <ebiederm@xmission.com> wrote:
>> I believe we can modify the msg number assignment to assign numbers to
>> deletes as well as adds.   Short of the same Message-ID coming up twice
>> that should be enough for the current backwards loop to assign message
>> ids reliably.  And even Message-IDs comming up twice is handle-able.
>
> OK, I would likely accept a patch to fix that.
>
> A note about Message-ID uniqueness...  The v2 code will generate
> a new, truly unique Message-ID on duplicates and use that in
> msgmap instead what was in the message.  It's gross, but I needed
> to do that to allow all messages to be accessible via Message-ID
> over NNTP, because:
>
> a) some legit messages reuse Message-IDs :<
>
> b) some broken mailers (including some versions of git-send-email)
>    put multiple Message-IDs in the same message, so the code
>    needs to handle messages with any number of Message-IDs
>    anyways.

I will send the patch along shortly.

I mispoke when I said the problem could be fixed by assigning numbers to
deletes.  The actual problem was that not every add was assigned a
number.  So the fix simpler than I expected.

It is interesting to note that
INSERT
DEL
INSERT

In sqlite does not reuse numbers in the primary key.    So not
reassigning numbers is what the local sqlite data base does as well.

I need to track down what the v1 bug with add-remove-add was.  I think
the way I have updated the code I won't need the bug fix for v1.  But I
haven't checked that scenario yet.

I also need to write a test case sigh.

But in practice I have this working for git mailling list archive.


Eric


  reply	other threads:[~2018-07-16 15:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-11 20:01 Q: V2 format Eric W. Biederman
2018-07-11 21:18 ` Konstantin Ryabitsev
2018-07-11 21:41   ` Eric W. Biederman
2018-07-12  1:47 ` Eric Wong
2018-07-12 13:58   ` Eric W. Biederman
2018-07-12 23:09     ` Eric Wong
2018-07-13 13:39       ` Eric W. Biederman
2018-07-13 20:03         ` Eric W. Biederman
2018-07-13 22:22           ` msgmap serial number regeneration [was: Q: V2 format] Eric Wong
2018-07-14 19:01             ` Eric W. Biederman
2018-07-15  3:18               ` Eric Wong
2018-07-16 15:20                 ` Eric W. Biederman [this message]
2018-07-13 22:02         ` bug: v2 deletes on incremental fetch " Eric Wong
2018-07-13 22:51           ` Eric W. Biederman
2018-07-14  0:46           ` [PATCH] v2writable: unindex deleted messages after incremental fetch Eric Wong
2018-07-13 23:07         ` IMAP server [was: Q: V2 format] Eric Wong
2018-07-13 23:12           ` Eric W. Biederman
2018-09-28 20:10           ` Johannes Berg
2018-09-28 21:01             ` Eric W. Biederman
2018-10-01  7:46               ` Johannes Berg
2018-10-01  8:51                 ` Eric W. Biederman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tvozqkas.fsf@xmission.com \
    --to=ebiederm@xmission.com \
    --cc=e@80x24.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).