You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@zookeeper.apache.org by GitBox <gi...@apache.org> on 2020/08/15 08:06:51 UTC
[GitHub] [zookeeper] fregatte123 commented on pull request #157: ZOOKEEPER-2678: Discovery and Sync can take a very long time on large DB (3.4)
fregatte123 commented on pull request #157:
URL: https://github.com/apache/zookeeper/pull/157#issuecomment-674366174
@fpj
Suppose there is a situation
zxid_n is the largest zxid of Participant A (the leader has just resumed from downtime). Zxid_n has not been recognized by the quorum. Assuming Participant A is elected as the Leader, then if a follower appears to use DIFF to synchronize data with the Leader, Leader After sending the UPTODATE, the leader can already provide external access, but at this time, the latest zxid_n of the leader has not been supported by the quorum of the follower. At this time, if a client connects to the leader and sees zxid_n, then at this time both the leader and the follower are down. For some reason, the leader cannot be started, and the follower can start normally. At this time, a new leader can only be elected from the follower. Since the data of the follower when the follower uses the DIFF method to synchronize with the leader is still in the memory, it has not had time to persist, then this The newly elected leader does not have the data of zxid_n, but before zxid_n has been seen by the client
on the old leader, there will be inconsistencies in the data view.
Is the above situation possible?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org