On Sun, Jul 18, 2004 at 09:30:14AM -0600, Jamin W. Collins wrote: > On Sat, Jul 17, 2004 at 11:28:47PM +0100, Andrew Suffield wrote: > > On Sat, Jul 17, 2004 at 02:04:36PM -0600, Jamin W. Collins wrote: > > > The previous package of jabberd2-bdb (2.0s2-1) required libdb4.1. > > > The upcoming package will use libdb4.2. Between these two versions > > > the log file format has changed (db format has remained the same). > > > This change appears to require that the db4.1_recovery utility from > > > db4.1-util be run against the existing database prior to starting > > > the new version of jabberd2-bdb which uses the newever libdb4.2. > > > > This should not be the case. If it is, something is broken (and it's > > probably jabberd). Can't guess what without debugging the thing. > > I'm not quite following the above. The previous version of Jabberd2 > starts and stops fine with no problem accessing the DB that was created > by that version (using libdb4.1). Likewise the new version has no > problem accessing a DB that it created (using libdb4.2). The problem > occurs during a normal upgrade. The old package version is stopped and > removed and the new package errors when attempting to open the DB > created with the previous version of Berkeley DB. > > Should Jabberd2 be detecting and dealing with the DB change > programatically? Or, do you think that it's not properly > closing/cleaning the DB when it shuts down. The latter. Unfortunately there are quite a large number of ways this could have gone wrong, and it sounds subtle. It is possible to deal with upgrades automatically in the program itself, but it's generally not a good idea; all else aside, you should archive a database for catastrophic recovery[0] before attempting to upgrade. I would expect that you just have to shut down all programs and run db*_upgrade on the databases for this transition. [0] http://www.sleepycat.com/docs/ref/transapp/archival.html -- .''`. ** Debian GNU/Linux ** | Andrew Suffield : :' : http://www.debian.org/ | `. `' | `- -><- |
Attachment:
signature.asc
Description: Digital signature