[ZODB-Dev] ZEO Client cache invalidation?

Jeremy Hylton jeremy@alum.mit.edu
Thu, 5 Jul 2001 13:56:55 -0400


Your brain doesn't hurt that much, does it?

The ZEO client does not reload objects for which it receives invalidation
messages (else I would hope we called them reload messages).

The "certain communications" that you refer to are invalidation messages,
which can only be handled at transaction boundaries.  If they were handled
as they were received, the client could see an inconsistent view of the
database.

I discussed these issues here, except that I didn't mention sync(), in an
earlier messages on the subject of ConflictError on read:

http://lists.zope.org/pipermail/zodb-dev/2001-May/000775.html

As I understand sync() -- and I may be wrong -- it's necessary when you
start a transaction after an idle period.  If you finish one transaction and
immediately start another, there should be no pending invalidations.  If
there's a long delay between the end of one transaction and the start of the
next, the invalidation messages will get queued up waiting for the next
commit/abort.

Jeremy