Github user enixon commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/628#discussion_r223888479 --- Diff: src/java/main/org/apache/zookeeper/server/quorum/Learner.java --- @@ -84,8 +84,12 @@ public Socket getSocket() { protected static final Logger LOG = LoggerFactory.getLogger(Learner.class); + private static final int leaderConnectDelayDuringRetryMs = + Integer.getInteger("zookeeper.leaderConnectDelayDuringRetryMs", 100); --- End diff -- The change was inspired by an Observer potentially taking a long time to recover after a leader election if the first LearnerMaster that it hooked in to was a Follower that was lagging in syncing with the leader. Rather than fixate on this slow Follower, the Observer can be moved along to a new LearnerMaster with minimal delay.
---