[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: back-bdb deadlocks

   From: "Howard Chu" <hyc@highlandsun.com>
   Date: Fri, 18 Jan 2002 04:27:21 -0800
   I've tried several other approaches as well. One that helps is to
   run the deadlock detector automatically, (dbenv->set_lk_detect)
   instead of having a separate thread do periodic deadlock
   checks. (When it deadlocks so frequently, resolving only once every
   N seconds is much too slow.)  In addition, it seems to help a lot
   to configure with dbnosync. Not sure why, but the number of
   deadlocks drops dramatically then. Also setting the deadlock
   resolution to "youngest" instead of default ( =random ) helps. With
   these settings the test usually finishes in under a minute.

Running the deadlock detector automatically is almost certainly what
you want.  When I was doing similiar tests for Cyrus, this improved
performance and simplified coding, since I no longer had to schedule a
process or thread to do deadlock detection.

I also remember some tests (somewhat artificial perhaps) that showed
that "youngest" was faster.