Jeffrey T Eaton jeaton at
Wed Sep 22 08:19:20 EDT 2010

On Sep 22, 2010, at 7:57 AM, Sebastian Hagedorn wrote:

> --On 22. September 2010 07:47:26 -0400 Jeffrey T Eaton <jeaton at> wrote:
>> All of that said, I believe that, in general, you can safely upgrade BDB.
>> If you have a Cyrus installation using BDB X, you can drop in a new Cyrus
>> using BDB Y, as long as everything is shut down in between.  You can't go
>> back without effort, but upgrades should work.
> I'm pretty sure that's not true. *If* an application uses BDB's environment features (not all do!), you *cannot* simply upgrade, unless the application is programmed to perform the upgrade automatically. Otherwise you have to either use db_upgrade to convert the environment to the current version, or you use db_dump and db_load. There's a db_upgrade() call in the library that could be used, but it might not work in all cases:
> Errors
> The DB->upgrade() method may fail and return one of the following non-zero errors:
> DB_OLD_VERSION - The database cannot be upgraded by this version of the Berkeley DB software.
> -- 
>    .:.Sebastian Hagedorn - RZKR-R1 (Gebäude 52), Zimmer 18.:.
>                .:.Regionales Rechenzentrum (RRZK).:.
> .:.Universität zu Köln / Cologne University - ✆ +49-221-478-5587.:.

Hmm.  I thought that I had updated BDB in the past.  I probably just nuked the databases between updates, since we only used them for transient data (tls_sessions.db, deliver.db, ptscache,db).

The rest of my point stands;  changing the BDB version is a problem in and of itself, not changing the Cyrus version. I know of no reason why one couldn't update a Cyrus 2.2 installation to 2.3.


More information about the Info-cyrus mailing list