[ZODB-Dev] ZEO Client cache invalidation?

Greg Ward gward@mems-exchange.org
Thu, 5 Jul 2001 15:08:57 -0400


On 05 July 2001, Jeremy Hylton said:
> Your brain doesn't hurt that much, does it?

Not really -- the hard part was explaining the invalidation-via-asyncore
scheme in one paragraph from memory, not understanding it in the first
place.  (Although I maintain that it's clever, subtle, and non-obvious.)

> 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.

So what about those "out-of-band" invalidation messages processed by
Zope's main loop (without Zope actually knowing about it, if I
understand correctly).  Do they only work because Zope is in between
handling requests, ie. committed a transaction a while back and hasn't
yet started a new one?  "Transaction boundary" sounds to me like an
instant in time -- is it really the interval of time between a commit()
and the next object modification?

        Greg