upgrade problem 2.0.16 Berkeley DB 3 to 2.2.12 Berkeley DB 4

Pascal Mouret pascal.mouret at up.univ-mrs.fr
Mon Jul 4 07:10:50 EDT 2005


Hello all,

I am having quite some troubles upgrading from cyrus imap 2.0.16 to 2.2.12.
The problem (of these past fews days) comes from the mailboxes.db which 
I fail to convert to skiplist.
The current cyrus imapd 2.0.16 was compiled using berkeley db 3, while I 
compiled the new 2.2.12 with berkeley db 4.2
As suggested in the cyrus upgrade procedures, I proceeded to convert my
berkeley mailboxes.db to skiplist using :
/opt/newcyrus/bin/cvt_cyrusdb /backup/test_cyrus_db/imap/mailboxes.db
berkeley /backup/test_cyrus_db/imap/mailboxes.db.skip skiplist
The result was :
fatal error: can't open old database
The logs show the following :
Jun 28 11:56:14 mailup cvt_cyrusdb[212914]: DBERROR db4: Program version
4.2 doesn't match environment version
Jun 28 11:56:14 mailup cvt_cyrusdb[212914]: DBERROR: dbenv->open
'/var/imap/db' failed: Invalid argument
Jun 28 11:56:14 mailup cvt_cyrusdb[212914]: DBERROR: init() on berkeley
Jun 28 11:56:14 mailup cvt_cyrusdb[212914]: DBERROR: reading
/var/imap/db/skipstamp, assuming the worst: No such file or directory
Jun 28 11:56:14 mailup cvt_cyrusdb[212914]: DBERROR db4: environment not
yet opened
Jun 28 11:56:14 mailup cvt_cyrusdb[212914]: DBERROR: opening
/backup/test_cyrus_db/imap/mailboxes.db: Invalid argument

Note that, as this is a production server, I first made a copy of
mailboxes.db and made all the attempts on that copy (which explains the
unusual path).
Then, this also means that there is a cyrus 2.0.16 running while I make
the tests with the 2.2.12
Anyway, I was not too much surprised when cvt_cyrusdb failed. It was
because I tried to read a Berkeley DB 3 file from a Berkeley DB 4
application, I thought.
I then tried to upgrade the file to BDB 4 using the BDB 4 db_upgrade
utility. First surprise : the file did not change !? Predictably
enough, running cvt_cyrusdb failed again, with the same messages both on
console and syslog !
I thought I'd rather create a proper BDB 4 file then :
db_dump mailboxes.db | db_load mailboxes.db.new
This time, the file looked good. I ran cvt_cyrusdb on that new file, and
it failed again with the same messages.
I tried to run it with type berkeley-nosync instead of berkeley. No
better luck !
I tried again specifying an alternate imapd.conf including 2.2.12
options. Same again !
I browsed the archives of the list, the documentations of both cyrus and
berkeley db, but didn't find anything
I'm completely stuck now.
Has anybody got an idea ? Where did I go wrong ? Could it be a result of
running version 2.2.12 cvt_cyrusdb while 2.0.16 is still up ?
Any hint would be greatly appreciated
Thank you very much

    Pascal Mouret

-- 

Pascal Mouret
DSII - Direction du Système d'Information et de l'Informatique
Université de Provence - 3, place Victor Hugo - 13331 Marseille cedex 3
Tél:  04 91 10 64 02            E-mail: mouret at up.univ-mrs.fr
Fax: 04 91 08 35 00             ou        mouret at up.univ-aix.fr
(Ligne d'assistance (interne) : 04 91 10 85 55 / 04 42 95 34 54)


---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list