[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Sks-devel] Adding DB_INIT_LOCK to sks-keyserver (revisited)
From: |
Phil Pennock |
Subject: |
Re: [Sks-devel] Adding DB_INIT_LOCK to sks-keyserver (revisited) |
Date: |
Wed, 24 Feb 2010 11:36:06 -0800 |
On 2010-02-24 at 12:46 -0500, Jeff Johnson wrote:
> The fundamental issue (imho) is that Berkeley DB does locks per page, not
> locks per record, and so its pretty easy to self-deadlock.
Not with a single thread of control.
Reading over that discussion (it pre-dates my list membership and I
wasn't as conscientious as you), I have one suspicion of the cause.
Locks are held by cursors. If a cursor isn't closed properly, that
could cause a later operation to deadlock. SKS uses cursors.
Is it plausible that there's a handle leak somewhere in the cursor code
which can lead to a cursor not being closed in a timely manner? Perhaps
kept around and re-used, with implicit close?
http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/lock_notxn.html
-Phil