upgrading with murder/aggregator

Torsten Schlabach tschlabach at gmx.net
Fri May 28 09:51:50 EDT 2010

Hi Ragnar!

We are currently doing exactly that. Interesting enough, starting off
the same software version 2.1.18. IMO this is a very nice and very smart
way to migrate, especially if the total number and size of your
mailboxes doesn't make it easy to just "qickly" copy everything over to
a new box. Also I guess you're aware that some of the internals changed
between Cyrus 2.1 and 2.2, so you cannot do a plugin replacement. Cyrus
2.2 or 2.3 will just not read your stored mailboxes from 2.1 without
some (irreversible) upgrades of the data.

Maybe it would be worth to create a page on the Cyrus wiki for just that
subject. I think you and us are not the first people to work on exactly
this. And there are some gotchas. Unfortunately, once people mastered
the task, they seldom come back to do some documentation and share their

One gotcha I can save you:

If you have made your setup, i.e. after you will have an aggregator and
what's your one and only mailserver today will be just one of multiple
backends, you will possibly want to move mailboxes off the backend which
is running 2.1.18 to some 2.3.x backend.

You will find your Sieve scripts to be not working anymore.

This is *not* because they are not migrated when you move a mailbox. But
it's because on newer versions of the sieve daemon, you need to compile
them to bytecode and this isn't done on the fly by the mailbox rename
(move) process.

The other problem you may or you may not have:


Unfortunately this bug is not getting a lot of attention; some previous
questions about this on this mailing list neither. So we digged a bit
deeper into the issue and I would be more then interested to hear if you
run into that problem as well or not.

Basically, AFAIK, the communication between a Murder frontend and a
backend is IMAP. It's not secret proprietary Cyrus internal protocol.
The gurus here may correct me, but I thin theoretically, a backend
doesn't even have to be a Cyrus IMAPd. (Would be fun to try and run for
example an MS Exchange server as a backend in a Murder cluster.) The
only thing I *think* you'd need to use an arbitrary IMAP server as a
backend would be to make sure you find a way to tell the mupdate master
that mailbox XYZ is on a server a with credentials b and that the
backend server supports proxy authentication. But I am just speculating
here. But on that background, the version number of your backends really
shouldn't make any difference.

Regarding the above mentioned ticket, we have in the meanwhile made some
more tests and added a new, fresh 2.1.18 backend to our Murder. And
voila; we can *not* reproduce the problem. So it may be something in the
config ouf our old 2.1.18 machine which is causing this behaviour we
see, i.e. occasional "Server(s) unavailable to complete operation" error
messages which seem to be a race condition at first.

I'll keep you posted, but at the same time, I'd also be interested in
your findings. But me personally, I can only encourage you to go for
what you have in mind. Unless you have a very tight deadline and very
little data to migrate.


Ragnar Sundblad schrieb:
> Is murder/aggregator backwards compatible with older imap
> servers?
> We want to migrate form a single 2.1.18 cyrus imap server to
> multiple 2.3.x servers. An idea is to insert a common
> murder/aggregator in front of both the 2.1.18 server and the
> new servers, and seamlessly migrate users. Would this be
> doable?
> Thanks!
> /ragge
> ----
> Cyrus Home Page: http://cyrusimap.web.cmu.edu/
> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

More information about the Info-cyrus mailing list