[ZODB-Dev] ZEO and setting instance variables in __getstate__

Tim Peters tim at zope.com
Fri Dec 30 04:38:04 EST 2005


[Syver Enstad]
>>> I have recently upgraded from ZODB 3.2 to 3.5.1. After doing this I
>>> notice that ZEO throws exceptions on commiting a transaction for
>>> certain types of Persistent classes. ...

[Tim Peters]
>> I was able to create a small self-contained test case from this
>> description, and opened a Collector issue containing it:
>>
>>     http://www.zope.org/Collectors/Zope3-dev/526
>>
>> As it says, I don't know whether it "should work", but offhand don't see
>> why not.  As is, creating new state inside __getstate__ is confusing the
>> heck out of ZEO's MVCC cache "for some reason".

[Syver Enstad]
> I noticed that the collector issue source file has a comment that this is
> experienced on windows. My testing has been done on Linux Ubuntu Breezy
> Badger and I get the same error, (cur_tid < tid) fails there too.

The comment says specifically that cur_tid == tid on Windows, not just that
cur_tid < tid fails.  While they're probably equal on your box too, timing
functions on Windows have such radically different pragmatics that I'm not
assuming that.  If they are equal on your box, please add a comment to the
Collector issue saying so (comments on zodb-dev will soon be forgotten).



More information about the ZODB-Dev mailing list