Which Berkeley DB is best?

Aidan Evans ae at is.dal.ca
Wed Oct 16 16:39:58 EDT 2002


On Wed, 16 Oct 2002 at 07:41 Simon Matter wrote to Aidan Evans and...

>The version shipped with RedHat 7.2 has worked very well for me. In fact
>much better than the one from 7.3. My config looks like this:

  This sounds like good advice.  I searched the ~5,000 Cyrus list messages I
have saved and most of the configur ations quoted seem to have DB 3.2 or
3.3.

On Fri, 13 Sep 2002 at 15:00 Aidan Evans wrote to info-cyrus at andrew.cmu.edu...

>On Fri, 13 Sep 2002 at 12:59 Lawrence Greenfield wrote to info-cyrus at lists....
>
>>   Date: Fri, 13 Sep 2002 09:35:30 -0400
>>   From: Scott Russell <lnxgeek at us.ibm.com>
>>[...]
>>   While testing Cyrus IMAPd 2.1.9 I noticed these errors in my logs:
>>
>>     Sep 11 17:23:55 ogg lmtpd[773]: DBERROR db3: 16 lockers
>...
>>Berkeley db 4.0 has a bug where the number of lockers isn't
>>decremented properly, causing this number to be unreliable.
>>
>>Larry
>
>  Aha.  This explains why I'm seeing messages like "DBERROR db4: 11641
>lockers".  I assume the unreliability of the locker count does not translate
>into anything more than scary numbers.

  Experience now indicates that not only is the number of lockers not
decremented properly but once it reaches or gets very close to the maximum
number of lockers (50,000 set in cyrusdb_db3.c) this starts happening:

	DBERROR db4: Lock table is out of available locker entries

and

	DBERROR: opening /imap/deliver.db: Cannot allocate memory

In the second time where this happened here, after 169 of the locker messages

	DBERROR db4: Unable to allocate memory for transaction detail

started.  It looks as though all Cyrus's Berkeley databases stopped working
as of the first error.  (Fortunately mailboxes.db is skiplist which means
that basic mail functionality continues.)

  It seems to me that I should abandon DB4 and go back to DB3.  I tried to
do that this morning but there was the little matter of /etc/sasldb2 being
is DB4 format and so passwords didn't work so I had to stay with DB4 and
just restart with empty databases.  After about twelve hours we're up to
3,144 lockers so at this rate I anticipate another database failure in about
a week, just in time for our next maintenance window.

  Is there an easy way (such as an already written program or script) to
convert a DB4 /etc/sasldb2 file back to DB3?

Aidan Evans   | Networks & Systems
(902)494-3332 | University Computing & Information Services
              | Dalhousie University, Halifax, N.S., Canada






More information about the Info-cyrus mailing list