[ZODB-Dev] Span transaction over several threads

Diez Roggisch d.roggisch at ehotel.de
Tue Sep 7 11:36:47 EDT 2004


Hi,

in my ZODB-backed corba-server I'd like to span a transaction over several 
corba calls, which are dispatched to one of 7 or so worker threads. When 
calling close after the final commit/rollback, the connection tries to 
unregister a sync object current to the thread - which of course fails, as it 
is has been synched to the thread at work when the connection was opened.

The actual error is this:

  File "/home/deets/projects/tmp/claros/trunk/claros/domain.py", line 61, in 
_release_conn
  File "/usr/lib/python2.3/site-packages/ZODB/Connection.py", line 561, in 
close
    self._txn_mgr.unregisterSynch(self)
  File "/usr/lib/python2.3/site-packages/transaction/_manager.py", line 146, 
inunregisterSynch
    ws = self._synchs[tid]

Has anybody done something similar and found a solution for this? I already 
have all corba methods wrapped so that a re-syncing to the current thread 
would work - if there is a way to accomplish this.

Regards,

Diez


More information about the ZODB-Dev mailing list