[Dovecot] Strange dovecot-uidlist behavior on maildir conversion

allen petersen allen at suberic.net
Wed Mar 15 07:47:54 EET 2006


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



More information about the dovecot mailing list