On Wed, 2013-04-10 at 18:59 +0200, Thomas Hummel wrote:
On Wed, Apr 10, 2013 at 06:28:47PM +0200, Thomas Hummel wrote:
So basically, it works as with conventional data moved with rsync in 2 phases (initial copy and sync of the (hopefully small) reminder to minimize «downtime» or incomplete state except that dsync is used to have the mailbox format and dovecot knowledge, right ?
Isn't there still a critical section : new imap connections could be created (if auth is not denied temporary for this user) while the final sync still to be finished or started ?
Not if you kick the users out at the correct time:
- dsync
- switch user to new format
- kick users
- final dsync
It doesn't matter if new connections arrive during the final dsync, because they are using the new format already. dsync merges changes, it doesn't destroy any changes.