[Dovecot] Problems with POP3 UIDL when migrating from MBOX to Maildir

grant beattie grant at grunta.com
Mon Feb 13 02:22:26 EET 2006


On Mon, Feb 13, 2006 at 10:55:22AM +1100, Joshua Goodall wrote:

> > > How does Dovecot generate the POP3 UIDL?
> > 
> > Using pop3_uidl_format. %v means UIDVALIDITY and %u means message UID.
> > With maildir those are taken from dovecot-uidlist file.
> 
> More generically there is also the pop3_reuse_xuidl option which I've
> used extensively in migration scripts from legacy POP3 servers; the
> scripts actually fetch from the legacy store using POP3 UIDL and
> just insert the header when spewing it to the dovecot store.
> 
> see http://wiki.dovecot.org/Migration#head-99ef10c69108e731db56d7b83b51a9fdb1152b4c

the only side effect of using this feature is that you need to leave
it turned on, even after users have POP'd into their mailbox because
if you turn it off and are using an X-UIDL format such as the default,
Dovecot knows that it can generate it on the fly and does so, even if
the X-UIDL for a given message is present in the index.

the upshot of this is that every (new) message in a mailbox is read on
each pop3 connection, looking for an X-UIDL header (that won't be
there), resulting in higher disk IO than necessary.

I need to hack on the code to always use the X-UIDL from the index if
present, then turn off pop3_reuse_xuidl and eliminate a bunch of
disk IO.

grant.



More information about the dovecot mailing list