errors with irst attempt at usig db4 for imap backend ...

Simon Matter simon.matter at ch.sauter-bc.com
Wed Mar 29 00:50:51 EST 2006


> On Tue, 28 Mar 2006, Sebastian Hagedorn wrote:
>
>> --On 28. März 2006 02:27:47 -0400 "Marc G. Fournier" <scrappy at hub.org>
>> wrote:
>>
>>> master[62957]: process started
>>> ctl_cyrusdb[62959]: DBERROR db4: /var/spool/imap/db/__db.001: No such
>>> file or directory
>>> master[62957]: process 62959 exited, status 75
>>> ctl_cyrusdb[62959]: DBERROR db4: /var/spool/imap/db/__db.001: No such
>>> file or directory
>>> ctl_cyrusdb[62959]: DBERROR db4: /var/spool/imap/db/__db.001: No such
>>> file or directory
>>> master[62957]: ready for work
>>> ctl_cyrusdb[62959]: DBERROR db4: /var/spool/imap/db/__db.001: No such
>>> file or directory
>>> ctl_cyrusdb[62959]: DBERROR: dbenv->open '/var/spool/imap/db' failed:
>>> No
>>> such file or directory
>>> ctl_cyrusdb[62959]: DBERROR: init() on berkeley
>>> ctl_cyrusdb[62959]: DBERROR: writing /var/spool/imap/db/skipstamp: No
>>> such file or directory
>>> ctl_cyrusdb[62959]: DBERROR: init() on skiplist
>>> ctl_cyrusdb[62959]: recovering cyrus databases
>>> ctl_cyrusdb[62959]: IOERROR: creating directory /var/spool/imap:
>>> Permission denied
>>> ctl_cyrusdb[62959]: DBERROR: opening /var/spool/imap: cyrusdb error
>>
>> Looks like your permissions are wrong.

I think there are no wrong permissions but you simply do verbose logging
and when starting with not existing dbs, those logs appear and the dbs are
created. However, are you sure you really are using /var/spool/imap for
the databases? And, are you sure your cyrus group is "cyrus", not "mail",
which is usually the case.

>
> Permissions look okay:
>
> # ls -ld /var/spool/imap /var/spool/imap/*
> drwxr-xr-x  10 cyrus  cyrus   512 Mar 29 01:16 /var/spool/imap
> -rw-------   1 cyrus  cyrus   144 Mar 29 01:16
> /var/spool/imap/annotations.db
> drwxr-xr-x   2 cyrus  cyrus   512 Mar 29 01:16 /var/spool/imap/db
> drwx------   2 cyrus  cyrus   512 Mar 29 01:16 /var/spool/imap/db.backup1
> drwx------   2 cyrus  cyrus   512 Mar 29 00:30 /var/spool/imap/db.backup2
> -rw-------   1 cyrus  cyrus  8192 Mar 28 06:26 /var/spool/imap/deliver.db
> drwxr-xr-x   2 cyrus  cyrus   512 Mar 28 06:12 /var/spool/imap/log
> -rw-------   1 cyrus  cyrus   328 Mar 29 01:16
> /var/spool/imap/mailboxes.db
> drwxr-xr-x   2 cyrus  cyrus   512 Mar 28 06:12 /var/spool/imap/msg
> drwxr-xr-x   2 cyrus  cyrus   512 Mar 28 11:52 /var/spool/imap/proc
> drwxr-xr-x   2 cyrus  cyrus   512 Mar 28 06:12 /var/spool/imap/ptclient
> drwxr-xr-x   2 cyrus  cyrus   512 Mar 28 06:13 /var/spool/imap/socket
>
>> If I were you I'd use skiplist for all the databases that are db4 by
>> default
>> ...
>
> What is skiplist, and what does it give over db4?  And, of course, what
> drawbacks are there to it?

It's a database backend usable in cyrus instead of BDB. What it gives you
is that it usually works, the drawbacks are that it may be slower than BDB
in certain situations. In my case stability is most important and I
couldn't find anything to be slower or some kind of increased load when I
was swithing to skiplist only. But, the most important thing it gives you
is compatibility, you never depend on the BDB version of libs installed on
your system and you don't have to care about ondisk format of BDB files.
It has been a blessing for me and many others, YMMV.

Simon


More information about the Info-cyrus mailing list