On Fri, Nov 30, 2012 at 1:37 AM, Andreas Jung <li...@zopyx.com> wrote: > a customer made the observation that that ZEO clients > became inconsistent after some time (large CMF-based application > running on Zope 2.12 afaik). Customer made some investigation and > noticed that the ZEO invalidations have been queued (in some cases for > hours).
I can't imagine invalidations being queued for many seconds, much less hours without some serious network pathology. How did they come to this conclusion? >..so the overall state of the ZEO clients became inconsistent. > Aren't ZEO invalidation messages supposed to be transmitted within > the current transaction (and outbound as it seems to happen here). No. Invalidations (and all other data) are queued for transmission over the network. > Isn't a ZEO cluster to be completely consistent at any time? Each client has a consistent view of the database, but not necessarily an up-to-date one. Differene clients may have views of the database as it was at (usually slightly) different points time, depending on which data they've recieved. It's not practical for all clients to have precisely the same view of the database as each other, although they should differ by seconds, or less. The only way I can see clients having views of the database far out of sync with the server is if the clients are disconncted. A ZEO client can continue functioning normally from a server while disconnected as long as it doesn't write anything and has all the data it needs in its cache. It has a consistent view of the database, but not an up-to-date one. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton Jerky is better than bacon! http://zo.pe/Kqm _______________________________________________ For more information about ZODB, see http://zodb.org/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev