allen petersen
2006-Mar-15 05:47 UTC
[Dovecot] Strange dovecot-uidlist behavior on maildir conversion
Hi. So I just moved my email over from mbox to maildir. For the most part the conversion went fine, but I had a bit of an odd thing happen when I accessed my mail through dovecot. It seems that when I ran mb2md to convert my mailboxes from mbox to maildir, I got a lot of messages created that look like 1142356176.000000.mbox:2,RS 1142356176.000421.mbox:2,S 1142356176.000001.mbox:2,S 1142356176.000422.mbox:2,RS 1142356176.000002.mbox:2,RS 1142356176.000423.mbox:2,S 1142356176.000003.mbox:2,RS 1142356176.000424.mbox:2,S and so forth. Now, that really should be fine, that I can tell; each message has the same timestamp and a different, sequential delivery identifier. However, for some reason when dovecot accessed this directory, it created UIDs for these messages like so: (from dovecot-uidlist) 1 1142362834 915 1 1142356176.000488.mbox 2 1142356176.000207.mbox 3 1142356176.000425.mbox 4 1142356176.000117.mbox 5 1142356176.000398.mbox 6 1142356176.000335.mbox I have no idea where this order came from, but it's clearly not the order that I would have expected. I would expect that dovecot would sort these messages by timestamp, followed by delivery identifier. Instead, it put them in a seemingly random order. And, of course, my email client by default shows messages in the order that it gets them from the server, so now when I look at my email all of my old messages are shuffled until I do an explicit sort by date. Any idea why this is happening? Is there some reasoning behind this, or is it just a bug? I looked through the archives a bit, but didn't find a mention of anyone else with this particular problem. I suppose I could just create the initial uid lists by hand and put them in the correct order, but that really doesn't seem like the correct solution. Or I could actually dig through the source and find out exactly what it's doing, but, well, I figure that asking the list first is easier. For reference, I'm running dovecot 0.99.14-1 on debian sarge. I though that I was doing a good job by reproducing this on the newer version my ubuntu desktop, but it turns out that it's running the same version. :) -allen
Maybe Matching Threads
- crash (assertion failed: (uidlist->lock_count == 1)
- UID larger than next_uid in file /hosts/domain/user/dovecot-uidlist
- Dovecot 2.0.beta5: dovecot-uidlist: Duplicate file entry at line X
- IMAP maildir performance difference between dovecot-uidlist versions?
- Error in rename uidlist while fetching through pop3