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 07:14:39 EDT 2017


Hi,


Quoting Stephan Lauffer <lauffer at ph-freiburg.de>:

> Hello Michael,
>
> Zitat von Michael Menge <michael.menge at zdv.uni-tuebingen.de>:
>
>> 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.
>
> Btw: For me it looks like we have a wrong test for removing (or not), see:
>
> https://build.opensuse.org/package/view_file/home:nixda:devel/cyrus-imapd-3.0/cyrus-imapd-3.0.2-mbx_rename.patch?expand=1
>
> What do you think about this patch?
>

If i read this patch right it negates the requirement to keep the same  
mailboxname
on partition changes to require it to change the mailbox name. This  
would prevent
the bug, but it would be a burden to migrate data to an other  
partition, as it would
require an addition rename.

Also I don't know if there are other reasons to allow or disallow the  
change of
the mailboxname but requiring it seams wrong to me. This check predates my
original patch so there seems to have been a reason in the past to  
disallow it.

Where did this patch came from?

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



More information about the Cyrus-devel mailing list