[ZODB-Dev] ZEO and replication of BTree based objects

Dieter Maurer dieter at handshake.de
Wed Jun 11 21:45:29 EDT 2003


Christian Reis wrote at 2003-6-11 11:49 -0300:
 > ....
 > > If, for example, you call the .sync() method on a
 > 
 > You say "for example", but is sync() the only other way invalidated
 > cache entries are actually important?

Hopefully, they are flushed when a connection is opened.
They are flushed on commit/abort.

 > ...
 > Well, it *does* call _flush_invalidations, but it also aborts the current
 > transaction (which is not a lot of fun). Would just flushing the
 > invalidations be a way to make sure our objects are non-stale? I suppose
 > the nasty bit here is that the current transaction may have modified
 > these objects, or done something based on changes in these objects, and
 > now we can't be sure if our data is sane or not.

When the object is modified, it will not be flushed from the cache.
Thus, this is not a problem.

However, you might read state in the future and therefore make
inconsistent modifications.


Dieter



More information about the ZODB-Dev mailing list