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