Skiplist causing DB problems? (UPDATE)

Simon Matter simon.matter at ch.sauter-bc.com
Tue Jan 20 04:06:29 EST 2004


Jason Williams schrieb:
> 
> Evening everyone,
> 
> Well, not really sure why this is occuring, but for some reason, upon
> setting up a new server with cyrus with skiplist as specified, at the
> beginning, it shows the following errors/messages in the /var/log/messages log:
> 
>  >Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: checkpointing cyrus databases
>  >Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: DBERROR: error listing log
> files: DB_NOTFOUND: No matching key/data pair found
>  >Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: DBERROR: archive /var/imap/db:
> cyrusdb error
> 
> I continued to monitor the server for a better part of the day, trying to
> find out more information.
> For whatever reasons, it almost apperas as if Cyrus heals itself: This was
> taken about 5 minutes ago:
> 
> Jan 19 16:55:58 obsidian ctl_cyrusdb[475]: recovering cyrus databases
> Jan 19 16:55:58 obsidian ctl_cyrusdb[475]: skiplist: recovered
> /var/imap/mailboxes.db (1 record, 552 bytes) in 0 seconds
> Jan 19 16:55:58 obsidian ctl_cyrusdb[475]: done recovering cyrus databases
> Jan 19 16:55:58 obsidian master[474]: ready for work
> Jan 19 16:55:58 obsidian ctl_cyrusdb[476]: checkpointing cyrus databases
> Jan 19 16:55:58 obsidian ctl_cyrusdb[476]: done checkpointing cyrus databases
> 
> No more errors when checkpointing.

IIRC skiplist dbs always need recovery on server startup when they are
accessed for the first time. So there is nothing wrong so far. I think
you can read something about this in the skiplist docs.

Simon

> I went back through the files and logs to see if I could pinpoint what was
> going on, but I haven't found anything out of the ordinay.
> I was curious if anyone might have any ideas on what is going on?
> I'll try to dig up more data, see what I can find.
> 
> Jason
> 
> >Good morning everyone.
> >
> >Thought i'd post something very interesting I noticed this morning when I
> >came into the office.
> >
> >I started this thread last Friday, as I was testing two idential servers
> >(hardware wise) with different configs.
> >
> >Anyway, I came in this morning and was looking around in the server that
> >was compiled with skiplist.
> >
> >What is weird is that I am no longer receiving those errors my my message
> >log...
> >
> > >Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: checkpointing cyrus databases
> > >Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: DBERROR: error listing log
> > files: DB_NOTFOUND: No matching key/data pair found
> > >Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: DBERROR: archive
> > /var/imap/db: cyrusdb error
> >
> >Those are no longer showing up...the checkpointing does it's job and
> >reports no errors.
> >
> >This is very intriguing to me. Did cyrus just need some time to figure out
> >things on it's own? Granted, the last time I touched this server was
> >Friday afternoon.
> >
> >Anyone have any idea on WHY all the sudden the errors are gone?
> >
> >I appreciate the help.
> >
> >A befuddled Jason...
> >
> >
> >>>Important info:
> >>>FreeBSD 4.9
> >>>Cyrus-Imapd-2.1.16
> >>>Cyrus-SASL-2.1.17
> >>>I've setup two idential servers.
> >>>They are both compiled with BerkeleyDB 4.1.25:
> >>>I installed cyrus through the ports tree, but set different options upon
> >>>compile time.
> >>>(Configure options)
> >>>make WITH_BDB_VER=41 WITH_SKIPLIST=YES install clean
> >>>Here is the first server: (Server 1)
> >>>name       : Cyrus IMAPD
> >>>version    : v2.1.16 2003/11/19 16:45:28
> >>>vendor     : Project Cyrus
> >>>support-url: http://asg.web.cmu.edu/cyrus
> >>>os         : FreeBSD
> >>>os-version : 4.9-RELEASE
> >>>environment: Cyrus SASL 2.1.17
> >>>              Sleepycat Software: Berkeley DB 4.1.25: (December 19, 2002)
> >>>              Built w/OpenSSL 0.9.7c 30 Sep 2003
> >>>              Running w/OpenSSL 0.9.7c 30 Sep 2003
> >>>              CMU Sieve 2.2
> >>>              TCP Wrappers
> >>>              mmap = shared
> >>>              lock = fcntl
> >>>              nonblock = fcntl
> >>>              auth = unix
> >>>              idle = poll
> >>>              mailboxes.db = skiplist
> >>>              seen.db = skiplist
> >>>              subs.db = flat
> >>>              deliver.db = db3-nosync
> >>>              tls_sessions.db = db3-nosync
> >>>
> >>>mailboxes and seen, both set with skiplist, as suggested from twiki
> >>>Here is the problem, shown in my logfiles:
> >>>Jan 16 16:46:01 obsidian master[167]: process started
> >>>Jan 16 16:46:01 obsidian ctl_cyrusdb[168]: recovering cyrus databases
> >>>Jan 16 16:46:01 obsidian ctl_cyrusdb[168]: skiplist: recovered
> >>>/var/imap/mailboxes.db (1 record, 320 bytes) in 0 seconds
> >>>Jan 16 16:46:01 obsidian ctl_cyrusdb[168]: done recovering cyrus databases
> >>>Jan 16 16:46:02 obsidian master[167]: ready for work
> >>>Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: checkpointing cyrus databases
> >>>Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: DBERROR: error listing log
> >>>files: DB_NOTFOUND: No matching key/data pair found
> >>>Jan 16 16:46:02 obsidian ctl_cyrusdb[169]: DBERROR: archive
> >>>/var/imap/db: cyrusdb error
> >>
> >>These are db3 errors, not skiplist errors.  If this is a new server, try
> >>deleting deliver.db, tls_sessions.db and the contents of /var/imap/db




More information about the Info-cyrus mailing list