[ZODB-Dev] Re: More exciting ZODB errors ;-)
Dieter Maurer
dieter at handshake.de
Mon Jun 26 14:42:32 EDT 2006
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
More information about the ZODB-Dev
mailing list