painful mupdate syncs between front-ends and database server
Michael Bacon
baconm at email.unc.edu
Fri Oct 30 15:44:59 EDT 2009
--On October 20, 2009 12:13:05 PM +0200 Cyril Servant
<elfejoyeux at gmail.com> wrote:
> Hello,
>
> Here we had a similar situation : more than a million mailboxes, and
> each MUPDATE sync was veeeeery long (when it succeeded). Now, we
> bypass the problem : we get rid of the MUPDATE (and the skiplist
> mailboxes.db). We use a home made mysql backend for mailboxes. We
> added write and read filters to this backend so front-end and back-end
> servers get the right value from mysql.
>
> With this configuration, we're no more in murder mode, we just use
> front-end cyrus (proxys), back-end cyrus, and mysql. We don't need
> MUPDATE any more, so we have no sync problems. Cyrus restarts are
> fast.
Thanks for sharing this. I have wondered a couple of times how much work
it would be to rip out the master-to-slave MUPDATE code, and replace it
with some kind of OpenLDAP replication that's a little more widely
deployed, then just let MUPDATE be exclusively for conversations between
the backends and master. It sounds like MySQL would be something similar.
I know the FastMail guys have abandoned the murder architecture too, and I
can kind of see why -- it seems like the Murder code spends a lot of time
and energy avoiding situations which don't come up very often, such as
duplicate mailbox names between back-ends. Right now, I think we need the
murder's ability to deal with the fact that we have no logical sorting of
users across the backends, but I didn't know someone had gone away from the
murder mode but was still using Cyrus front-ends (and not perdition or
nginx), which we still need for the GSSAPI client support.
Michael Bacon
UNC Chapel Hill
More information about the Info-cyrus
mailing list