Hallo Florent, Florent Guillaume wrote at 2006-6-26 00:53 +0200: >Dieter Maurer wrote: >> Chris Withers wrote at 2005-12-14 16:23 +0000: >>> ... >>> File "lib/python/ZODB/Connection.py", line >>> 788, in _setstate_noncurrent >>> assert end is not None >>> AssertionError >> >> This means that the latest modification for this object >> lies before the respective transaction. >> >> In this case, we should not have an invalidation for the object, >> such that we would not call "_setstate_current". >> >> I expect a missing "flush_invalidations" during "Connection._setDB". >> I had to add such a call in our ZODB version: > ... >This patch didn't seem to cure our Zope 2.8 afflicted with the "assert >end is not None" problem. Could you expand a bit on why you think it >would matter? From what I understand of the code, it would only come >into play during a refresh() operation.
You are right. My modification only makes refresh safer. >Could you expand on the "it does >more than cache handling"? Invalidations being synchronous, It also resets "connection._invalidated" and "connection._txn_time". >BTW do you have other patches in your local patched ZODB? I'm willing to >look at all of them and see if they can be integrated. Lot's of them (but not related to this problem which I haven't seen so far) -- and not all of them working already. I could make a tarball from the ZODB parts but I doubt that you would be very happy with it... -- Dieter _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev