On 30.1.2012, at 5.29, Gedalya wrote:
The old system uses the message filename for UIDL, but we need to migrate via IMAP in order to preserve IMAP info and UIDs (which have nothing to do with the POP3 UIDL in this case). So I've just finished writing a script to insert X-UIDL headers, and pop3_reuse_xuidl is doing the job.
You could also store the UIDL to dovecot-uidlist file directly without keeping it in header.
Question: Since the system currently serves in excess of 10 pop3 connections per second, would there be any performance gain from using pop3_save_uidl? Would it be faster or slower to fetch the UIDL list from the uidlist rather than look up the X-UIDL in the index? Just wondering.
Currently with pop3_reuse_xuidl=yes setting the X-UIDL header is cached to dovecot.index.cache file. With pop3_save_uidl=yes I doubt you'd get much of a performance improvement, but if it enables you to later set pop3_reuse_xuidl=no you can delete all of the dovecot.index.cache files for pop3-only users, since they don't really need it.
Also, what order does dovecot return the UIDLs in?
The messages are in the same order as in dovecot-uidlist. That of course isn't necessarily the same ordering as in your POP3 server. If you directly add the UIDLs to dovecot-uidlist file in migration script you can also change the UIDL ordering in v2.0.13+:
+ pop3: Added support for showing messages in "POP3 order", which can
be different from IMAP message order. This can be useful for
migrations from other servers. Implemented it for Maildir as 'O'
field in dovecot-uidlist.