On Wed, Sep 22, 2010 at 11:24:04PM +0200, Gabor Gombas wrote: > On Wed, Sep 22, 2010 at 04:10:15PM +1000, Bron Gondwana wrote: > > > Now - BDB database SHOULD be upgradable. I want to find a BDB expert > > to help me with that - (a) detecting that an upgrade is necessary, and > > (b) doing the upgrade. > > It was quite some time ago I last upgraded a Cyrus instance, but my > upgrade script did the following: > > - Run the _old_ version of db_recover. Just shutting down Cyrus is not > enough, without this step db_upgrade can fail. > > - Run the _new_ version of db_upgrade. > > - Run "db_checkpoint -1" to force the log to be rotated. > > I think it won't be hard to implement steps 2 & 3 inside Cyrus, and I > don't remember those steps taking a significant amount of time, but I > don't know how it would be possible to implement step 1. However if the > BDB version change does not bring a change to the on-disk DB log format, > then it may be possible to skip steps 1 & 3. Ok - so the upshot is that we need to implement a "shutdown" path, either in master.c or in ctl_cyrusdb - and we need to make sure it gets run during the usual shutdown path. Bron. ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/