On Wed, Apr 10, 2013 at 09:21:40PM +0300, Timo Sirainen wrote:
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.
It doesn't destroy changes but the user may see an incorrect state for a small amount of time, doesn't he ?
For instance (using dsync to change Maildir location from file1 to filer2) :
. Maildir in source : message tagged as New . initial dsync . user read the message in the source, message is now tagges as Read . switch user to Maildir in destination . kick user . user reconnects and sees, in destination, the message he just read tagged as New as long as the final dsync is not finished
?
-- Thomas Hummel | Institut Pasteur hummel@pasteur.fr | Groupe Exploitation et Infrastructure