[ZODB-Dev] [Warning] potential ZODB cache inconsistency after
client reconnect
Jim Fulton
jim at zope.com
Wed Aug 16 11:35:38 EDT 2006
On Aug 15, 2006, at 2:32 PM, Jim Fulton wrote:
>
> On Jun 12, 2006, at 1:35 PM, Dieter Maurer wrote:
>
> Sorry to take so long to get to this....
>
>> Jim Fulton wrote at 2006-6-12 06:34 -0400:
>>> ...
>>>> The potential inconsistency occurs because the ZODB (Connection)
>>>> cache
>>>> may contain objects not in the ZEO client cache. Even if invalid
>>>> meanwhile,
>>>> they are not checked and invalidated during the cache verification
>>>> phase.
>>>
>>> If true, that would be a serious bug. In _process_invalidations,
>>> the invalidations are passed on to the database, which passes then
>>> on to the connections. What makes you think this isn't happening?
>>
>> This happens -- but only for objects the ZEO client cache knows
>> about.
>>
>> The problem is with objects that are in a Connection cache but
>> not in a ZEO client cache (because this is too small, for example).
>> The storage does not know about them and therefore does not
>> check with the server whether they are still valid.
>
> Ah, good point. Hm. I suppose a conservative strategy would be to
> clear the connection caches when the storage reconnects. I'll look
> into doing
> that.
I've implemented this on the 3.7 branch and on the trunk.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the ZODB-Dev
mailing list