How to get rid of Berkeley DB

Colin Bruce ccx004 at coventry.ac.uk
Wed Apr 14 16:42:45 EDT 2004


Dear All,

I am running cyrus 2.2.3 on a linux system but at the end of my tether with it.
It is now a live environment with around 20,000 users. At the moment it is
down. I have discovered that Berkeley DB is utter rubbish and totally
unusable. However, there appears to be no way to get rid of it. I am
running the cvt_cyrusdb by hand and it is behaving in a very strange way
indeed.

I am trying to convert the seen DB.

I pick a letter (lets say u) and do

    cd var/user/u
    for f in *.seen
    do
        cvt_cyrusdb `pwd`/$f berkeley `pwd`$f.new skiplist
    done

after that has finished I have a nice set of files which appear to be
skiplist. I then do

    for f in *.seen
    do
        mv $f.new $f
    done

All this is as the user cyrus. Anyway the new seen files are fine.

Now I move on to another letter (lets say v) and repeat the exercise
I get another set of nice skiplist files. However, when I look back at the
files under u they are all now 4096 bytes long and appear to be corrupted
BerkeleyDB files. How on earth is this happening? If I try to do another
letter, (lets say w) they also work fine but now v is corrupted and so on.
Each time I do a directory the previous one gets damaged.

Is there anything I can do. If we stick with Berkeley we get several
crashes a day with it. If I were writing this stuff I would dump
Berkeley straight away. It seems to be the most appalling rubbish I have
come across for some time.

---
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