[Dovecot] Still weird UID ordering issues with maildir

Timo Sirainen tss at iki.fi
Sun Sep 18 18:45:21 EEST 2005


On Mon, 2005-09-12 at 09:52 -0400, Todd Vierling wrote:
> On Sun, 11 Sep 2005, Timo Sirainen wrote:
> 
> > > > The error message means that Dovecot saw a message 1187 that wasn't in
> > > > index, but index said it already had seen message 1188. Probably means
> > > > that the file was temporarily lost in some sync, but later seen again in
> > > > another sync.. Dovecot isn't very forgiving if readdir() skips files.
> 
> Reading your statement above again, something sounds odd here.  If UID 1187
> is not in index, how does dovecot even know that the message file in
> question is UID 1187?  (This sounds very much like an ordering problem of
> some sort.)

There's also dovecot-uidlist file which keeps the filenames there for a
bit longer.

> > Yes, the order isn't relied on. The filenames are all read into a hash table
> > which is used.
> 
> Then by "skips files" you mean that a file is disappearing and reappearing?
> I don't know how that could be, as it would make many other programs on the
> system go insane....

If you're getting a list of files in a large directory using readdir()
but at the same time there are rename()s and/or unlink()s happening in
the same directory, the readdir() can skip over some files.

> It just hit me again, and now I realize that there is a common
> behavior
> pattern happening.  In every case that this has happened, I have been
> deleting large numbers (>10) of messages from a mailbox.  IIRC, in
> Maildir
> flags are expressed as filename additions, so a rename(2) is
> happening.

Thanks, that helped me enough to reproduce it. Fixed in CVS now.

Problem was that sometimes Dovecot updated new next_uid to index file
even while it hadn't actually added the new mails to index file (because
it was doing a "partial" syncing, which is done when maildir file is
lost and we're trying to find it again).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20050918/c43e5b52/attachment.pgp


More information about the dovecot mailing list