Dieter Maurer wrote at 2004-9-1 20:45 +0200:
... Recently, strange session related "Conflict Errors" have been reported.
The strange thing about these conflicts is that the timestamp when the object was read from the ZODB is *AFTER* the timestamp the object has at commit time. Apparently, the object state jumped backward in time. When the object is modified, this results in a "ConflictError". However, when the object is only read, then old data is used -- probably without anyone noticing this. ... I will try to localize the place where this jumping backward in time happens.
The implementors of "ZODB.FileStorage.FileStorage.store" and "tempstorage.TemporaryStorage.TemporaryStorage.store" have simply been a bit confused about what is old and what is new: the two values are interchanged: "was" is the serial at commit time, "now" is the serial at load time. Thus, the "was serial" must be larger than the "now serial". -- Dieter