On Mon, Apr 18, 2011 at 12:50, Jeroen van Meeuwen (Kolab Systems) <vanmeeu...@kolabsys.com> wrote: > Bron Gondwana wrote: > >> I really, really wanted to have BDB able to handle in-place upgrades > >> as well, but I haven't been able to figure out a way. There is an > >> ->upgrade method on databases, but it says it's destructive and can > >> fail > > If I understood it correctly, I think it actually says that the process may > not be interrupted in any way, or the database is damaged in a way that > cannot be repaired?
Yes. > That's something else then destructive by definition ;-) Well, it could be destructive. > I suppose it's easy enough to copy the database to a backup, upgrade the > live but if it fails (e.g. the "upgraded" version is corrupted), try again > with the backup copy? You have to make sure you're the only user of the database in the moment of the upgrade. I am not so versed in cyrus-imapd code to be able to say that it can be guaranteed in the cyrus-imapd/pop3d/..., but if we can modify cvt_cyrusdb as a first step, it would be huge leap forward :). O. -- Ondřej Surý <ond...@sury.org>