Hi,

I have a dumb question about the way how zookeeper does leader election.

There is a quorum zk1(1,6), zk2(2,5) and zk3(3,5). The number in
parentheses is sid and latest zxid. So my question is, when each
server sends out the vote to other 2, say, zk1 and zk2 send the votes
to zk3. So zk3 has 2 votes (1,6) and (2,5). Now, based on the rules:

1. If (voteZxid > myZxid) or (voteZxid = myZxid and voteId > mySid),
keep the current vote.
2. Otherwise, change my vote by assigning myZxid to voteZxid and mySid to vote
Zxid.

So what zk3 vote would be? I'm confused because to compare zk1 and
zk3, the vote on zk3 is (1,6); but to compare zk2 and zk3, zk3 should
keep its vote.

So in this case, how the vote should be settled?

Thanks.

Eric

Reply via email to