On Sat, 2009-07-18 at 01:43 +0200, [email protected] wrote: > Timo Sirainen <[email protected]> writes: > > > On Fri, 2009-07-17 at 22:31 +0200, [email protected] wrote: > >> This sounds really awesome! How testable is it? > > > > By "testable" do you mean "is it working now"? It should work except for > > mailbox deletions and renames. But I haven't really tested it, just ran > > unit tests. :) And it pretty much requires using Dovecot v2.0 for IMAP > > so that it can handle expunges properly. And I wouldn't really recommend > > doing that yet.. > > Would this setup work then? > - dovecot 1.2 on master and slave machines > - dsync on the slave machine, 2 way sync > - propagate expunges by some other means, like removing maildir mail > files with unison or similar?
Actually there shouldn't be problems with expunges after all. Conflicts just are detected less reliably. For example if: Server 1 saves message with UID=123 Server 2 saves a different message with UID=123 Server 1 expunges messages UID=123 dsync is run to move changes from server 2 to server 1. It notices that "oh, UID=123 has been expunged from server 1 already" and server 2's UID=123 message isn't copied there. Or if you're syncing changes from 1 to 2, it would expunge the UID=123 from server 2. If server 1 had been running Dovecot v2.0, the expunge record would have message's GUID stored and dsync would notice that there was a GUID conflict and copy the server 2's message to server 1 as UID=124. > How would I handle mailbox addition, renaming and deletions? The reason why dsync can't do that without Dovecot v2.0 is because it can't be done reliably without storing extra information.. (And I haven't yet even implemented that to v2.0.) So the answer is: Not easily.
signature.asc
Description: This is a digitally signed message part
