I am tracking down some of the locks we are seeing.

When we lock on a instance, we lock on the context.
I was just reading the code and the afterCompletion in the
EntitySynchronization calls the notifyAll() only in the case that
ctx.getId() != null;

This leads to a dead-lock since if the lock was acquired by a "remove"
operation when this guy is commited the ctx has (id == null) and therefore
the threads never get waken up.

In short I believe that we should always notifyAll

regards

marc


________________
Marc Fleury, PhD
CTO, Telkel Inc.
________________


Reply via email to