[spambayes-dev] Re: [Spambayes] Error from pop3proxy

Barry Warsaw barry at python.org
Thu Oct 2 07:41:38 EDT 2003


On Thu, 2003-10-02 at 02:48, Meyer, Tony wrote:

> I don't suppose you're low on memory or disk space, are you Richie?  In
> any case, the sleepycat docs all seem to say that running recovery will
> fix the db without any worries, so perhaps that is simply what we should
> do?

FWIW, in the BerkeleyDB storage in ZODB, we do the following three
things related to recovery:

- Open the environment with db.DB_RECOVER so that recovery is run
automatically if necessary.  If it's not necessary (i.e. the db was
closed cleanly), this should take no time.

- Spawn a checkpointing thread.  Recovery time is related to the amount
of time since the last checkpoint.  If you never checkpoint, the
recovery (auto or explicit) can take a very long time.  By default, the
BerkeleyDB storage checkpoints every two minutes.

- On shutdown, do two forced checkpoints.  That is:

  env.txn_checkpoint(0, 0, db.DB_FORCE)
  env.txn_checkpoint(0, 0, db.DB_FORCE)

  This deep voodoo was recommended to me by Keith Bostic ages ago and
its purpose is to avoid lengthy recoveries even when the database is
shutdown cleanly.  Apparently the DB_FORCE is required for the second
call, but does no harm for the first.  And yep, you need two of them.

wishing-you-a-speedy-recovery-ly y'rs,
-Barry





More information about the spambayes-dev mailing list