[Dovecot] Dovecot control files - WAS: Re: Thunderbird message cache out of sync after repetitive rsyncs...
CMarcus at Media-Brokers.com
Thu Dec 26 17:07:54 EET 2013
On 2013-12-24 12:02 PM, Charles Marcus <CMarcus at Media-Brokers.com> wrote:
> Apparently something causes Thunderbirds local message cache to get
> out of sync with dovecot after a sync.
Ok, I had a new thought about the problem of invalid local client caches...
There is this on the dovecot wiki about the control files:
"Dovecot stores some Maildir metadata into two control files:
dovecot-uidlist file contains IMAP UID <-> Maildir filename mapping
If the messages get new UIDs, the IMAP clients will invalidate their
local cache and download the messages all over again. If you do this for
all the users, you could cause huge disk I/O bursts to your server. "
This sounds like exactly what I want (IMAP clients will INVALIDATE THEIR
LOCAL CACHE...) to happen the first time users access their mail on the
So, I'm thinking what I could do is simply exclude the dovecot-uid*
files during the transfer (and delete existing ones using
--delete-excluded) during the rsync, and this would cause everyone's
Thunderbird to regenerate their local caches, thus eliminating the need
to rebuild the .msf files (either manually or by scripting their deletion)?
The new server is a VM on a pretty hefty box, with 16GB allocated, and
if I do this before people come in, their initial logins would be spread
out, not exactly at the same time, so the 'huge disk IO bursts'
shouldn't be a big problem.
Obviously this would only happen the for the client they first access
their mail with, so I'd need to block access to the new mail server from
outside (ie, so mobile clients, which are polling the new server,
wouldn't cause the regeneration of the dovecot-uid* files before
Thunderbird gets a chance to, but...
Hmmm... what will happen for mobile clients... crap... will those get
confused to, but leaving me with no easy way to delete their local cache
(like I could the .msf files)?
Have to first test and make sure this will actually solve the problem
More information about the dovecot