[elephant-devel] DB_LOCK_DEADLOCK support
Ian Eslick
eslick at media.mit.edu
Thu Aug 28 14:22:40 UTC 2008
You can run a thread which aborts threads that otherwise would have
hung.
"The DB_ENV->failchk method can now abort transactions for threads,
which have failed while blocked on a concurrency lock. This
significantly decreases the need for database environment recovery
after thread of control failure. [#15626]"
My understanding is that you have to launch a thread to perform these
checks and cause the transactions to abort (this requires true multi-
threading - Allegro for example would not benefit from this since it
still uses a semi-cooperative multitasking to avoid all locking that
has been put into SBCL).
I've made some code changes in elephant-unstable to support 4.7 but
had some bugs getting it running (problems with constants, API
changes) but haven't had the chance to track the errors down. I won't
be doing any more elephant development until at least mid-September.
I am aware that there is a reasonable set of issues with various
lisps, an intermittent de-serializer bug that also shows up in stable,
and a condition that requires restarting the db when I kill stuck
threads that are in the middle of a transaction...
Ian
On Aug 28, 2008, at 10:04 AM, Leslie P. Polzer wrote:
>
> Is it correct that db4.7 has built-in deadlock detection,
> and elephant-unstable has been adapted to that?
>
> Leslie
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list