>>> 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. ...
>> I was able to create a small self-contained test case from this
>> description, and opened a Collector issue containing it:
>> 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".
> 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).
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org