moving mailboxes to other partitons in murder setup can lead missing entries in mailboxes.db

Michael Menge michael.menge at zdv.uni-tuebingen.de
Fri Sep 15 05:21:07 EDT 2017


Hi,

i discovered that my patch for bug #3862 (rollback db changes on  
mupdate failure),
which was includes in cyrus-imapd 2.4.19, 2.5.8 and 3.0.0-beta2, has a  
bug if a
mailbox is moved to an other partition and a rollback is needed.

For the rollback my old patch did recreate the old entry and then  
delete the new entry.
But in case of moving the mailbox to a other partition the oldname and  
newname are
the same, so the mailbox will be deleted for the mailboxes.db
Recovery form this error is tricky. Reconstruct (reconstruct -p  
oldpartiton "mailboxname")
will fail because the mupdate master still has the entry the the mailbox.
So you have to manually add the mailbox to the mailboxes.db on the backend,
or delete the mailbox from the mailboxes.db on the mupdate master.


Attached is a patch for 2.4.20 which will reverse the order, so the  
"new" mailbox is
deleted first and then the old entry is recreated.

The same is needed for the other branches.

Regards

    Michael Menge


--------------------------------------------------------------------------------
M.Menge                                Tel.: (49) 7071/29-70316
Universität Tübingen                   Fax.: (49) 7071/29-5912
Zentrum für Datenverarbeitung          mail:  
michael.menge at zdv.uni-tuebingen.de
Wächterstraße 76
72074 Tübingen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cyrus-imapd-2.4.20-mupdate-rollback2.patch
Type: text/x-diff
Size: 1034 bytes
Desc: not available
URL: <http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20170915/929b48b1/attachment.bin>


More information about the Cyrus-devel mailing list