[ZODB-Dev] [Warning] potential ZODB cache inconsistency after client reconnect

Jim Fulton jim at zope.com
Mon Jun 12 06:34:21 EDT 2006


On Jun 12, 2006, at 5:21 AM, Dieter Maurer wrote:

> I fear we may get a ZODB cache inconsistency after a client  
> disconnect.
>
> The current reconnection protocol essentially works as follows:
>
>   *  "ClientStorage" detects a broken ZEO connection
>      and starts a reconnect thread
>
>   *  The reconnect thread tries to reconnect to  the ZEO server
>      and starts (ZEO client) cache verification, when it succeeds.
>
>   *  All no longer valid "oid, version, tid" entries are
>      invalidated in the client and ZODB (Connection) caches.
>
>
> 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?

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