Github user afine commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/438#discussion_r160286100
--- Diff: src/java/main/org/apache/zookeeper/server/quorum/Leader.java ---
@@ -1183,8 +1183,10 @@ public long getEpochToPropose(long sid, long
lastAcceptedEpoch) throws Interrupt
if (lastAcceptedEpoch >= epoch) {
epoch = lastAcceptedEpoch+1;
}
- connectingFollowers.add(sid);
QuorumVerifier verifier = self.getQuorumVerifier();
+ if(verifier.getVotingMembers().containsKey(sid)) {
--- End diff --
I'm wondering if this logic is best suited for the `QuorumVerifier`. In
other words, the quorum verifier should be able to determine if a quorum is
present from a set of ids while taking into account which sids represent voting
members.
---