Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.4.0, 3.5.0
-
None
-
None
Description
sync + read is supposed to return at least the latest write that completes before the sync starts. This is true if the leader doesn't change, but when it does it may not work. The problem happens when the old leader L1 still thinks that it is the leader but some other leader L2 was already elected and committed some operations. Suppose that follower F is connected to L1 and invokes a sync. Even though L1 responds to the sync, the recent operations committed by L2 will not be flushed to F so a subsequent read on F will not see these operations.
To prevent this we should broadcast the sync like updates.
This problem is also mentioned in Section 4.4 of the ZooKeeper peper (but the proposed solution there is insufficient to solve the issue).
Attachments
Issue Links
- is related to
-
ZOOKEEPER-2136 Sync() should get quorum acks.
- Open
- relates to
-
ZOOKEEPER-3600 support the complete linearizable read and multiply read consistency level
- In Progress
- links to