Re: unified murder gets mailboxes list truncated
On Thu, Jun 28, 2007 at 01:57:57AM +0300, Janne Peltonen wrote: I'm running a unified murder and have been experiencing a strange problem. I shut down a cluster member cleanly, then start the member again, run ctl_cyrusdb -r and ctl_mboxlist -m, all goes well (even if the ctl_mboxlist -m takes a long time), the services start - the mupdate slaves starts to synchronize with the mupdate master, and, at the beginning, throws away all records of remote mailboxes! Only after it has synchronized with the master does it know how to proxy to other murder members. Now what might be wrong here? Of course. It wasn't the mupdate slave that did the truncating. It was the ctl_mboxlist -m that did it. Now I wonder. ctl_mboxlist -m truncating the local (backend) mailboxes list to contain only local mailboxes makes perfect sense - in a /traditional/ murder. But mine is a unified murder. There /is/ the line mupdate_config: unified in my imapd.conf. So the ctl_mboxlist -m has all the information it requires /not to truncate the mailboxes list to contain only local mailboxes/. So what is the preferred way to go about the initial mupdatepush in a unified murder? a) skip running the ctl_mboxlist -m at all OR b) run ctl_mboxlist -m -a Option a) might cause the mupdate slave that is started in the services section of cyrus.conf to delete all local mailboxes from the mailboxes list in case there is a corrupted mupdate master running. On the other hand, this is quite a small added risk - if the mupdate master mailboxes list is ever corrupted while the slaves are running, the slaves will delete the mailboxes from their lists... This seems to me to be a bit of a bug in a unified murder: I think that the slaves should refuse to delete local mailboxes in a unified murder. (Fortunately, the actual mailbox directories don't seem to get deleted, so the situation can be easily saved from mailbox list backups.) Option b) might be more interesting (I haven't tried it out yet). The man page says that assume the local mailboxes file is authoritiative, that is, only change the mupdate server, do not delete any local mailboxes. USE THIS OPTION WITH CARE, as it allows namespace collisions into the murder - now I wonder whether the remote mailbox entries will still be deleted... Well, I'd better try it out next. Reports to follow. (There is still the option c), that is, run the ctl_mboxlist -m normally, wait for minutes to hours (depending on disk load) for the mailboxes list to get truncated, then a similar amount of time for it to get repopulated with remote mailboxes - now you might see why I'm not really considering this option.) (And then there's the option d), that is, somebody changing the ctl_mboxlist -m behaviour in the unified config. I myself don't have the time to get this closely acquaintated with Cyrus code; production deadline is way too close.) --Janne -- Janne Peltonen [EMAIL PROTECTED] 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
Re: unified murder gets mailboxes list truncated
On Sat, Jun 30, 2007 at 03:16:30PM +0300, Janne Peltonen wrote: On Thu, Jun 28, 2007 at 01:57:57AM +0300, Janne Peltonen wrote: I'm running a unified murder and have been experiencing a strange problem. I shut down a cluster member cleanly, then start the member again, run ctl_cyrusdb -r and ctl_mboxlist -m, all goes well (even if the ctl_mboxlist -m takes a long time), the services start - the mupdate slaves starts to synchronize with the mupdate master, and, at the beginning, throws away all records of remote mailboxes! Only after it has synchronized with the master does it know how to proxy to other murder members. Now what might be wrong here? Now I wonder. ctl_mboxlist -m truncating the local (backend) mailboxes list to contain only local mailboxes makes perfect sense - in a /traditional/ murder. But mine is a unified murder. This is bug 2915: On a unified server, `ctl_mboxlist -m' deletes remote mailboxes. It's fixed in the CVS version of Cyrus imapd. Look at: http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2915 -- -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
Re: unified murder gets mailboxes list truncated
On Sat, Jun 30, 2007 at 03:16:30PM +0300, Janne Peltonen wrote: b) run ctl_mboxlist -m -a Option b) might be more interesting (I haven't tried it out yet). The man page says that assume the local mailboxes file is authoritiative, that is, only change the mupdate server, do not delete any local mailboxes. USE THIS OPTION WITH CARE, as it allows namespace collisions into the murder - now I wonder whether the remote mailbox entries will still be deleted... Well, I'd better try it out next. Reports to follow. Well. Running ctl_mboxlist -m -a didn't truncate the mailboxes list, but it took relatively long to complete (21 minutes with only one cluster member doing it - on the other hand, since the ctl_mboxlist wasn't busy writing this time, the time required to do the ctl_mboxlist will probably stay the same regardless of the number of members doing it). Additionally, the -a option really does as it says - the local mailboxes list is authoritative. That is, it's authoritative over the complete murder (which I find very strange) - if I delete a remote folder from the local mailboxes list, then do ctl_mboxlist -m -a, the master records the deletion and propagates it forward... the mailbox disappears from the complete murder. So there seems to be no way to get a unified murder up and running so that there isn't some risk of information loss - actually, I already knew this; there is a constant running risk of information loss if the mailboxes list on a running murder's mupdate master gets corrupted (the corrupted list if propagated to all the members) and the backups are lost. It'd be really really nice if somebody changed the ctl_mboxlist and mupdate slave code so that if the murder config is unified, the local server is authoritative on local mailboxes - and /only/ on local mailboxes. I wonder if it's too late to convert my murder to a traditional one... --Janne 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
Re: unified murder gets mailboxes list truncated
On Sat, Jun 30, 2007 at 07:39:42AM -0500, Gary Mills wrote: Now I wonder. ctl_mboxlist -m truncating the local (backend) mailboxes list to contain only local mailboxes makes perfect sense - in a /traditional/ murder. But mine is a unified murder. This is bug 2915: On a unified server, `ctl_mboxlist -m' deletes remote mailboxes. It's fixed in the CVS version of Cyrus imapd. Look at: http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2915 *cough* *hack* I really should learn looking for information in the right places before complaining on the mailing list. I'm really sorry for my bad behaviour. Thanks a lot for pointing this out. Then to see whether the patch applies nicely to my invoca rpm source tree... --Janne -- Janne Peltonen [EMAIL PROTECTED] 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
Re: unified murder gets mailboxes list truncated
On Sat, Jun 30, 2007 at 04:26:16PM +0300, Janne Peltonen wrote: This is bug 2915: On a unified server, `ctl_mboxlist -m' deletes remote mailboxes. It's fixed in the CVS version of Cyrus imapd. Look at: http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2915 *cough* *hack* I really should learn looking for information in the right places before complaining on the mailing list. I'm really sorry for my bad behaviour. Thanks a lot for pointing this out. Then to see whether the patch applies nicely to my invoca rpm source tree... ..it did.. then to see whether the similar mupdate bug fix also applies... (bug #2914) --Janne -- Janne Peltonen [EMAIL PROTECTED] 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
Re: unified murder gets mailboxes list truncated
On Sat, Jun 30, 2007 at 04:59:55PM +0300, Janne Peltonen wrote: Thanks a lot for pointing this out. Then to see whether the patch applies nicely to my invoca rpm source tree... ..it did.. then to see whether the similar mupdate bug fix also applies... (bug #2914) ..as well.. works more nicely :) --Janne -- Janne Peltonen [EMAIL PROTECTED] 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