A beginner question about Murder

Bron Gondwana brong at fastmail.fm
Thu Sep 9 20:09:51 EDT 2010

On Thu, Sep 09, 2010 at 02:15:52PM -0400, Wesley Craig wrote:
> On 08 Sep 2010, at 16:41, Andrew Morgan wrote:
> > Unfortunately, I've never setup a "unified" Murder, so I don't fully 
> > understand what the advantages and disadvantages of it compared to a 
> > "traditional" Murder.  Maybe someone else can jump in here with their 
> > experiences.
> The main advantage is that BEs can proxy for other BEs, no FEs are required.  In m observation, the FEs are typically CPU bound, while the BEs are typically IO bound.  Since the BEs have an excess of CPU, it makes some sense to combine the two roles.
> Other than the bugs one finds in new code, unified is logically superior to "traditional" and in the long run traditional should be retired.

Sounds good to me.  Let's have a look at those bugs and see how bad they
are!  If we can make "one murder to rule them all" I'd be happy :)

> In the future, I'd like to add "unified" replication, masterless murder, and auto failover. In my ideal minimum system, there are two machines, replicating to each other, providing high availability, proxying, etc.

Yes, this.  Absolutely.  The replication code is pretty safe for multi-master
in my branch already.  At least for mailboxes.  Sieve, Seen and Subs are
somewhat trickier.  I think the only really safe way is to keep "deletion"
entries around and replicate those too so you can tell the difference between
a creation at one and and a deletion at the other!

Anyway - I've been thinking about this a bit.  Some of it's not too hard,
some is trickier.  In particular I think each mailbox (and by extention
each user - maybe based on their INBOX...) needs to have a list of machines
it should be replicated on and a "current primary" which are sent to the
murder.  The tricky part is - there should be a master, and it should
probably either be chosen by some sort of election between the active
servers (here lies high-availability heartbeat magic) or by IP address
allocation.  Anybody know if avahi and friends can help here?

I really like this idea - particularly if servers can have almost-auto-
discovery.  It would be great if you could just run up a bunch of Cyrus
servers "out of the box" and have them talk to each other.

Bron ( and I really like the idea of being able to replicate a subset of
       users - because it would let you set up a "home replica" that talks
       to your ISP/Work/Uni server and gives you super-fast access while
       still keeping full IMAP semantics! )

More information about the Info-cyrus mailing list