Skiplist vs Berkley db
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.
Project Cyrus Developer/Maintainer
Carnegie Mellon University
More information about the Info-cyrus