Mailbox deletion race: folders and files are never deleted
Bron Gondwana
brong at fastmail.fm
Thu Feb 26 17:31:00 EST 2015
On Fri, Feb 27, 2015, at 06:31 AM, Jeroen van Meeuwen (Kolab Systems) wrote:
> On 2015-02-26 16:51, Samir Aguiar wrote:
> > Proposed solution:
> > - Patch the mailbox_close() function to reload the index before trying
> > to
> > clean the files (and merge the current index changes with the ones
> > found)
> > - Because the above would still be skipped when shutting down Cyrus:
> > expand
> > cyr_expire to find mailboxes with the deleted flag set (by looping
> > through the
> > filesystem, and not by using the database) and try to remove them. This
> > could
> > then be run periodically by administrators.
> >
> > What do you think?
> >
>
> Please do not take my word for it, but I think Cyrus IMAP 2.5 introduces
> a state flag of MBTYPE_DELETE for mailboxes [1] in the actual mboxlist,
> so the related functions would still be able to find it after the facts
> of the case.
>
> IIRC, I ran in to this (particular MBTYPE) because it purges ACLs, and
> rendered (discrete) murder topologies unable to ctl_mboxlist -m (as well
> as made ctl_mboxlist -d segfault).
>
> I think the intention is exactly what you describe is the scenario, but
> if it is I'm not certain it also properly addresses it.
Yes, MBTYPE_DELETE would help for this, that was my first thought.
Its main purpose is to enable true master/master replication and all the
other good things like efficient JMAP mailboxListUpdates, but safe cleanup
is a win too.
Bron.
--
Bron Gondwana
brong at fastmail.fm
More information about the Cyrus-devel
mailing list