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

Simon Matter simon.matter at ch.sauter-bc.com
Wed Mar 29 02:19:08 EST 2006


> On Wed, 29 Mar 2006, Simon Matter wrote:
>
>>> 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?
>
> Definitely sure, its how I have it defined in my imapd.conf file ...
>
>> And, are you sure your cyrus group is "cyrus", not "mail", which is
>> usually the case.
>
> Now, this one is how mkimap is setting it up, so I'm pretty sure this is
> right ... not something I've ever set ... has never caused a problem, and
> been using cyrus-imapd for, god, 8+ years now ...
>
>>> # 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.
>
> 'k, first question ..  under what situation would I find it slower?  And
> is it noticeable, or would I have to really be looking for it?

In theory, I've been told, it should be slower for tls_sessions.db and
deliver.db. However, I have NEVER seen anything to be slower, even on
quite large servers.

>
> And ... were I to go this route ... what's involved in converting an
> "existing" installation?  Is it relatively easy to do?

Depends on which version of cyrus-imapd you are running. With current
versions, the database backends are runtime configurable. DB conversion is
done once by hand using cvt_cyrusdb, and you have to configure cyrus
accordingly.

Simon


More information about the Info-cyrus mailing list