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

Dieter Maurer dieter at handshake.de
Mon Jun 12 05:21:03 EDT 2006


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.

-- 
Dieter


More information about the ZODB-Dev mailing list