ubell (AT) sleepycat (DOT) com (Michael Ubell) wrote in message news:<36b1555f.0308190849.6b451aca (AT) posting (DOT) google.com>...
Quote:
Since you are specifying DB_TXN_NOWAIT, the DB_LOCK_NOTGRANTED return
indicates that a lock is held on that key (acatually the page holding
that key). |
Patrick earlier wrote..
Quote:
Apart from the single daemon process, about once per hour, a cron job
opens the same databases readonly, and runs through them with a cursor
to dump all entries. |
One thing that occurs to me (because I hit a similar case): After you
run through the database with a cursor, are you certain that you are
closing the cursor after getting 'NOTFOUND' (i.e. after reading the
last record)? It's non-intuitive but the cursor does still have a
lock on the last page even if you interpret "NOTFOUND" to mean 'have
run off the end of the database'. (I believe the lock is held in
order to support Dbc::get(DB_PREV) on a cursor that has returned
NOTFOUND to a get(DB_NEXT).)
Hope this helps.
regards,
Chris