Re: Beware the unified Cyrus server
On Sat, Mar 03, 2007 at 06:36:12PM -0600, Gary Mills wrote: If you have: 1) An existing conventional IMAP server, and 2) convert it to a unified murder configuration, with 3) a mupdate slave, and without 4) a mupdatepush entry in cyrus.conf, it will delete all of the local mailboxes from the mailboxes database. This seems like very dangerous behavior to me, even though it can be avoided by adding the mupdatepush entry in cyrus.conf. How can the mupdate slave be modified to make it safer? On reflection, I'm convinced that the mupdate slave should not be doing this. In a conventional murder, with discrete frontend and backend servers, it's reasonable to have mailboxes on the backend that are not known to the mupdate master. This is a temporary condition, of course. The same thing should be permitted in a unified murder. The mupdate slave should be modified to avoid deleting local mailboxes in a unified configuration. There's a similar, but less serious, problem when `ctl_mboxlist -m' is run on a unified server: it deletes all of the remote mailboxes from the local mailboxes database. These are restored when the mupdate slave starts up. Again, `ctl_mboxlist -m' should not be doing this in a unified configuration. It might be reasonable for a backend server, although in that case the remote mailboxes should never be in the local mailboxes database. -- -Gary Mills--Unix Support--U of M Academic Computing and Networking- 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
Beware the unified Cyrus server
If you have: 1) An existing conventional IMAP server, and 2) convert it to a unified murder configuration, with 3) a mupdate slave, and without 4) a mupdatepush entry in cyrus.conf, it will delete all of the local mailboxes from the mailboxes database. Note that running without the mupdatepush entry is the recommended way to start a murder node the first time. This problem doesn't happen with a murder backend because there's no mupdate slave. It also doesn't happen with a murder frontend because there are no local mailboxes. It only happens with a unified front/backend server. It's particularly annoying because there's no easy way to rebuild the mailboxes database. This seems like very dangerous behavior to me, even though it can be avoided by adding the mupdatepush entry in cyrus.conf. How can the mupdate slave be modified to make it safer? Here are some typical log entries of the server startup. There seem to be two copies of mupdate running. One silently deletes the local mailboxes. The other tries to, but can't because they're already gone. Mar 2 19:10:23 setup01 mupdate[2580]: [ID 974332 local6.error] successful mupdate connection to castor Mar 2 19:10:23 setup01 mupdate[2580]: [ID 697712 local6.notice] unready for connections Mar 2 19:10:23 setup01 mupdate[2577]: [ID 974332 local6.error] successful mupdate connection to castor Mar 2 19:10:23 setup01 mupdate[2577]: [ID 697712 local6.notice] unready for connections Mar 2 19:10:23 setup01 mupdate[2577]: [ID 104270 local6.notice] synchronizing mailbox list with master mupdate server Mar 2 19:10:23 setup01 mupdate[2580]: [ID 104270 local6.notice] synchronizing mailbox list with master mupdate server Mar 2 19:10:23 setup01 mupdate[2577]: [ID 538854 local6.error] MUPDATE: can't delete mailbox entry 'user.cox' ... Mar 2 19:10:24 setup01 mupdate[2577]: [ID 538854 local6.error] MUPDATE: can't delete mailbox entry 'user.pehn' Mar 2 19:10:24 setup01 mupdate[2577]: [ID 622122 local6.notice] mailbox list synchronization complete Mar 2 19:10:24 setup01 mupdate[2580]: [ID 538854 local6.error] MUPDATE: can't delete mailbox entry 'user.wyatt' Mar 2 19:10:24 setup01 mupdate[2580]: [ID 622122 local6.notice] mailbox list synchronization complete -- -Gary Mills--Unix Support--U of M Academic Computing and Networking- 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