[Zope-dev] problems with TM.py

Pavlos Christoforou pavlos@gaaros.com
Thu, 2 Mar 2000 19:40:49 -0500 (EST)


Hello everyone -

I am having problems withZope's Transaction manage which think it might be
buggy.

TM.py defines _registered as a class variable which seems to hold the
state of an instance (whether it is registered with the transaction
manager or not). method _register() registers the instance with the TM
depending on the content of the _registered attribute. this however seems
to have the additional effect to set the instance as changed and therefore
and therefore a new version is stored in the ZODB. Additionally as
_registered is defined as a class variable it is shared among threads and
therefore one thread can interfere with the state of another.

I have changed all references to _registered in TM.py to _v_registered and
my problem (creating new versions for every call to FSSession) is solved,
but I am not sure what other classes use TM.py. Also I am thinking of
changing _v_registered to an instance attribute instead of a class
attribute. Any thoughts?? Is it a bug of TM.py

DC has promised many times to publish their model of the transaction
manager and maybe a few usage comments ... which will  save us *a lot* of
time.

TIA

Pavlos