[Dovecot] Replication protocol design

Timo Sirainen tss at iki.fi
Thu May 1 14:45:43 EEST 2008


On Tue, 2008-04-29 at 16:28 +0100, Ed W wrote:

> I think they imapsync style protocol is the most powerful starting point 
> for master/master sync.  However, that style of sync can be made more 
> efficient by using the LEMONADE features you previously added, in 
> particular by offering a limited log file of recent actions in a folder 
> we can avoid a full sync and apply only the recent changes to a given 
> folder (fallback to full sync and compare if folders fall out of sync)

The updated design #2 should address this. The mailbox synchronization
step works pretty much the same as QRESYNC.

> The other advantage of the imapsync style protocol is that it's much 
> simpler to support partial replication, eg replicate only certain 
> folders over certain date ranges (or only parts of certain messages, eg 
> excluding large attachments)

This isn't really there yet.. QRESYNC supports replicating only a
specific UID range and that would be easy to add to my replication
protocol as well if needed. Excluding large attachments then.. Well, two
possibilities:

a) Add a FETCH-SMALL command that drops large attachements and somehow
remembers this so that they could later be downloaded again when there's
more bandwidth or user requests it.

b) Use IMAP protocol for the synchronization and let the client figure
out itself what/when/how it wants to fetch.

Using IMAP protocol for replication has at least two disadvantages:

1) It's a bit too chatty, wasting bandwidth on replies the replication
isn't interested in.

2) Sending updated flag/keyword changes can't be done in a standard way,
because it only shows the last flag+keyword state, not the changes that
were done (e.g. "\Seen" vs. "+\Seen -\Flagged").

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20080501/da630402/attachment.bin 


More information about the dovecot mailing list