[Zope] Zope Freezing up with multiple threads accessing
objects.
Dieter Maurer
dieter@handshake.de
Wed, 16 Jul 2003 21:21:30 +0200
Etienne Labuschagne wrote at 2003-7-16 00:48 +0200:
> ...
> The above is abbreviated, but I can send you a more verbose list with stack
> traces for each step. I printed out the
> threading.currentThread().getName()s every step to check which threads are
> doing what.
I am not really interested in a detailed log :-)
"Storage._transaction" is set in "tpc_begin" and reset in
"tpc_abort" and "tpc_finish".
When the check "transaction is self._transaction" fails,
look at "self._transaction".
When is is None, then
someone (maybe a different thread) called "tpc_abort" or "tpc_finish"
or (not likely "tpc_begin" was not executed).
When it is not None, then its value specifies the transaction
that most recently executed "tpc_begin". This must be a different
thread (since there is one transaction per thread and "transaction"
is ours).
Dieter