[Pkg-Cyrus-imapd-Debian-devel] Bug#342660: cyrus22-imapd: suggest making skiplist the default database backend for new installs

Henrique de Moraes Holschuh hmh at debian.org
Fri Dec 9 15:50:55 UTC 2005


On Fri, 09 Dec 2005, Mark Nipper wrote:
> anything BDB.  There are seemingly known issues even using db4.3 and

db4.3 != db4.2... and there is *NO* *CHANCE* of we linking to BDB 4.3
anytime soon, if I can help it.

Skiplist is sensitive to corruption.  As in: if it happens, you can start
crying.  It *can* and *does* deal well with aborted transactions, that's not
what I am talking about.

bdb 4.2 is fairly resilient to corruption, most of the time a db4.2_recover
will do just that, with no data loss.  It is also faster than skiplist for
random lookups (mailboxes DB/TLS DB/duplicate delivery suppression DB),
*especially* when you have a huge ammount of processes doing it (which
happens to the mailbox db).

So, I really think we should keep using BDB 4.2 as a default for those
functions where upstream recommends doing so for performance reasons.

> although I upgraded all of my existing db3 files to db4.2 using
> db4.2_upgrade, I still ended up having cyrmaster crash on me due to
> critical database errors.

Cyrus needs to be stopped for that to work without causing corruption,
AFAIK.  I didn't attempt a db migration yet using Cyrus, but it is always
posible to do so using dumps.

>         At the very least, I would mention this as either part of a
> debconf message or in one of the Debian README files so that folks are
> aware of the potential dangers in using the BDB backend and a really
> simple way to avoid trouble by using only skiplist instead.

No debconf obnoxious messages.  This is non-negotiable.  But discussing
about the good and bad of each database backend in the documentation is a
good idea.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh





More information about the Pkg-Cyrus-imapd-Debian-devel mailing list