[Zope] Zope Freezing up with multiple threads accessing
objects.
Etienne Labuschagne
elabuschagne@gmsonline.co.za
Mon, 14 Jul 2003 13:29:23 +0200
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