Comment 3 for bug 989609

Revision history for this message
Harald Alvestrand (harald-alvestrand) wrote :

On upgrade from Lucid to Precise:
Deep dive into the code gave me a fix, which seems like a dirty trick..

The error occurs when one tries in one step to convert from Berkeley 4.8 to 5.1 and from Berkeley to skiplist.
The converter script, /usr/lib/cyrus/bin/upgrade-db, seems to first convert to the latest Berkeley version (5.1), and then to convert from the previous Berkeley version (4.6) to skiplist. This fails to open the old database.

Dirty trick workaround:

Change /usr/lib/cyrus/cyrus-db-types.txt, one line:

OLD:
DBENGINE BerkeleyDB
NEW:
DBENGINE BerkeleyDB4.7

Now, the converter script doesn't try to change the Berkeley version any more, and the conversion to skiplist works.