Message17223
| Author |
mhammond |
| Recipients |
| Date |
2005年11月04日.02:00:56 |
| SpamBayes Score |
| Marked as misclassified |
| Message-id |
| In-reply-to |
| Content |
Logged In: YES
user_id=14198
Sadly, I believe bsddb is working "as designed". Quoting
from http://www.sleepycat.com/docs/api_c/env_open.html
"When the DB_INIT_LOCK flag is specified, it is usually
necessary to run a deadlock detector, as well."
So I dig into my bsddb build tree, and found
db_deadlock.exe. Sure enough, once studly_hammer.py had
deadlocked, executing db_deadlock in the DB directory got
things running again - although the threads all eventually
died with:
bsddb._db.DBLockDeadlockError: (-30996, 'DB_LOCK_DEADLOCK:
Locker killed to resolve a deadlock')
Obviously it is PITA to need to run an external daemon, and
as Python doesn't distribute db_deadlock.exe, the sleepycat
license may mean not all applications are allowed to
distribute it. This program also polls for deadlocks,
meaning your app may hang as long as the poll period. All
in all, it seems to suck :) |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2007年08月23日 14:15:04 | admin | link | issue775414 messages |
| 2007年08月23日 14:15:04 | admin | create |
|