Zope Freezing up with multiple threads accessing objects.
Ok, I have narrowed down my problem to the following, when calling get_transaction().commit(), the : In ZODB: In ZODB.Transaction.Transaction commit line 264: self._finish_many(jars) _finish_many line 393: jar.tpc_finish(self) in ZODB.Connection.Connection tpc_finish line 692: self._storage.tpc_finish(transaction, self._invalidate_invalidating) in ZODB.BaseStorage.BaseStorage tpc_finish line 155: if transaction is not self._transaction: return Now this line returns without calling _invalidate_invalidating in Connection.Connection. This in turn causes that the global lock on Globals.DB is not released. This freezes up Zope. This keeps me up 'till 3 in the morning. What am I doing wrong that causes this. Shouldn't the code above have some safeguard against such blocking. Also logging this in the collector. Etienne
Etienne Labuschagne wrote at 2003-7-14 13:29 +0200:
Ok, I have narrowed down my problem to the following, when calling get_transaction().commit(), the : ... in ZODB.BaseStorage.BaseStorage
tpc_finish line 155: if transaction is not self._transaction: return
It appears as if the same connection were used in two different threads. Do not do that... Dieter
participants (2)
-
Dieter Maurer -
Etienne Labuschagne