Re: unified murder gets mailboxes list truncated

2007-06-30 Thread Janne Peltonen
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

2007-06-30 Thread Gary Mills
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

2007-06-30 Thread Janne Peltonen
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

2007-06-30 Thread Janne Peltonen
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

2007-06-30 Thread Janne Peltonen
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

2007-06-30 Thread Janne Peltonen
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