Commit 1bbd6215 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 851636d1
......@@ -20,6 +20,20 @@ and later again by https://github.com/zopefoundation/ZEO/commit/94f275c3 .
NEO
---
There is no load vs invalidation race on NEO but the protection is implicit:
- client app maintains .last_tid which is updated by poller thread upon
receiving invalidations.
- when load() is called without specifing @head (the case we are considering),
it uses .last_tid for @at with which to ask storage node.
- even if client.load() observes .last_tid which was updated for simultaneously
committed transaction and not yet invalidated cache the following happens:
* client sends AskObject packet to a storage node.
* ask _locks_ corresponding connection to the storage. XXX _not_ to master from which we should have received invalidation message !
- client.app.load
XXX load vs invalidation race is there on ZODB4 and ZODB3, but on ZODB5 there is
another open vs invalidation race.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment