Skiplist vs Berkley db

Ken Murchison murch at andrew.cmu.edu
Fri Apr 21 18:34:17 EDT 2006


Andrew Morgan wrote:
> On Thu, 20 Apr 2006, Ken Murchison wrote:
> 
>> Marc G. Fournier wrote:
>>>
>>> 'k ... just to make sure that I fully understand though ... as long 
>>> as I use Berkeley DB for *anything*, that directory needs to exist 
>>> ... ?  For instance, if duplicate_db == db3?
>>
>> Yes.  I you use BDB for any of the databases, then you will have a 
>> <configdir>/db/ directory.
> 
> I have only skiplist and quotalegacy backends defined on my v2.2.12 box, 
> and yet I still have the following in <configdir>/db/:
> 
> -rw-------   1 cyrus mail    16384 Apr 18 11:01 __db.001
> -rw-------   1 cyrus mail   663552 Apr 18 11:01 __db.002
> -rw-------   1 cyrus mail    98304 Apr 18 11:01 __db.003
> -rw-------   1 cyrus mail 18563072 Apr 18 11:01 __db.004
> -rw-------   1 cyrus mail    32768 Apr 18 11:01 __db.005
> -rw-------   1 cyrus mail 10485760 Feb 14 00:01 log.0000000001
> -rw-------   1 cyrus mail        4 Apr 18 11:01 skipstamp
> 
> It appears that the log.0000000001 is probably leftover from previous 
> BDB days, but the others are obviously being updated regularly during 
> the daily checkpoint of databases.

Arrgh!  skiptlist does use db/skipstamp, so if you remove db/, it will 
get recreated which ctl_cyrusdb -r gets run.

I *think* __db.nnn are BDB files, but I can't explain why they are being 
touched if you're not using BDB for any databases.  I'd have to look at 
the code, but its possible that recovery of *all* of the db types is 
done by ctl_cyrusdb -r , regardless of whether they are being used.

-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Info-cyrus mailing list