Skiplist recovery?

Simon Matter simon.matter at ch.sauter-bc.com
Wed Jul 6 03:18:09 EDT 2005


>
> I've had a couple of my users' seen DBs, which are skiplist, go south
> recently.  Since ctl_cyrusdb in 2.2.12 doesn't actually check the seen
> databases, I looked around for a recovery utility, but found none.  I
> tried to use cvt_cyrusdb to convert them from skiplist to skiplist and
> skiplist to text, but I got errors every time.  I moved the defective
> DBs so they could be re-recreated (at least one person was unable to
> actually re-mark them messages read).  From running 'strings' on the bad
> DBs and comparing a flat-file dump of a good DB, it looks like all or at
> least most of the data is there--enough that it would be less annoying
> than having all messages marked unread.  So before I dig into this
> myself, has anyone tried to write a utility that recovers, brutally if
> necessary, skiplist databases?

I didn't write such a tool but I can confirm that a corrupt skiplist db
can make your cyrus-imapd and ctl_cyrusdb die with SIG11. So in that
situation it would really be helpful to have a tool to recover at least
most of the data.

However, I was thinking to add some new funtionality into my rpms which
dump clear text backups of all cyrus databases daily similar to what is
already done with the mboxlist. Those backups could also be very helpful
when migrating a server to a new box with for example different BDB
versions.

I'm still waiting for more good ideas (and more time) to implement all
this in the best possible way.

Simon


---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list