[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