Cyrus IMAPd 2.4.0 Released

Rudy Gevaert Rudy.Gevaert at
Wed Oct 13 10:27:36 EDT 2010

On 10/13/2010 02:30 PM, Bron Gondwana wrote:
> On Wed, Oct 13, 2010 at 09:23:11AM +0200, Rudy Gevaert wrote:
>> On 10/11/2010 11:48 PM, Ken Murchison wrote:
>>> I am pleased to announce the release of Cyrus IMAPd 2.4.0.
>> This is really great news!  I'm going to test asap.  Thank you to
>> everyone who contributed.
>>> - Replication code largely rewritten
>> Bron, two specific questions for you about the replication.
>> I saw that this code base can recover from a split brain.  What is
>> the procedure?  Is there in any documentation about it?
> It's automatic.  The replication code notices that just applying the
> changes from the master to the replica doesn't generate the same
> SYNC_CRC value, and it falls back to a full mailbox fetch and
> comparison.  GUID mismatch messages are promoted to new UIDs and
> flag changes are made one direction or the other depending who has
> the most recent modified time.  Obviously if there are flag change
> clashes (like you set \Flagged at one end and \Seen at the other)
> then one end will lose detail - we don't have change history per
> flag in the underlying format.

Interesting.  Would this mean that one could set up to run sync client 
on both master and replica and set sync_log to 1 on both? So that one 
could failover one user to the replica e.g. and get his changes synced 
back to the 'old master'?

>> Previously I was using 0019-GUID-IMAP-COMMANDS.patch.  Is there any
>> hope in getting this updated?  Or is it already applied?
>> I found this a great way to check if the master and replica are in sync.
> It still exists :)  Check -
> which is what we apply on top of 2.4 for the FastMail packages.  It's
> not something we want to push upstream because it's non-standard IMAP,
> and the eventual plan is to add the per-message ANNOTATION RFC and
> expose the values as read-only annotations.

That would indeed by to way to go.  But for now it's ok with me :)  I 
already applied your patch and I'm compiling.. :)


Btw, I got a lot of inspiration from your :)

More information about the Cyrus-devel mailing list