[ZODB-Dev] ZEO and replication of BTree based objects
Tim Peters
tim at zope.com
Wed Jun 11 11:25:02 EDT 2003
[Jeremy Hylton]
>> ZEO uses invalidation-based cache consistency. When one
>> client modifies an object, the other clients receive
>> invalidation messages. The other clients don't load the
>> object unless they attempt to read it.
[Christian Reis]
> Am I correct in assuming the invalidation messages are only used to
> raise ReadConflictError when one of the other clients already has a
> version of the object in its cache?
Invalidation msgs are the (only) means by which a cache can learn its data
is stale. ReadConflictError is a possible consequence of that, but not the
primary purpose: the purpose is to ensure that caches don't deliver
inconsistent data. If, for example, you call the .sync() method on a
connection object, that handles pending invalidations (purges invalidated
objects) without raising ReadConflictError. I think <wink>.
More information about the ZODB-Dev
mailing list