zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hanm <...@git.apache.org>
Subject [GitHub] zookeeper pull request #588: [ZOOKEEPER-3109] Avoid long unavailable time du...
Date Thu, 16 Aug 2018 05:55:57 GMT
Github user hanm commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/588#discussion_r210482560
  
    --- Diff: src/java/main/org/apache/zookeeper/server/quorum/Leader.java ---
    @@ -1172,6 +1172,58 @@ synchronized public long startForwarding(LearnerHandler handler,
         }
         // VisibleForTesting
         protected final Set<Long> connectingFollowers = new HashSet<Long>();
    +
    +    private volatile boolean quitWaitForEpoch = false;
    +    private volatile long timeStartWaitForEpoch = -1;
    +    private volatile SyncedLearnerTracker voteSet;
    +
    +    public static final String MIN_TIME_WAIT_FOR_EPOCH = "zookeeper.leader.minTimeToWaitForEpoch";
    +    private static int minTimeToWaitForEpoch;
    +    static {
    +        minTimeToWaitForEpoch = Integer.getInteger(MIN_TIME_WAIT_FOR_EPOCH, -1);
    +        LOG.info(MIN_TIME_WAIT_FOR_EPOCH + " = " + minTimeToWaitForEpoch);
    +    }
    +
    +    // visible for test
    +    public static void setMinTimeToWaitForEpoch(int minTimeToWaitForEpoch) {
    +        Leader.minTimeToWaitForEpoch = minTimeToWaitForEpoch;
    +        LOG.info(MIN_TIME_WAIT_FOR_EPOCH + " set to " + minTimeToWaitForEpoch);
    +    }
    +
    +    /**
    +     * Quit condition:
    +     *
    +     * 1 voter goes to looking again and time waitForEpoch > minTimeToWaitForEpoch
    +     *
    +     * Note: the voter may go to looking again due to:
    +     * 1. change mind in the last minute when received a different notifications
    +     * 2. the leader hadn't started leading when it tried to connect to it.
    +     */
    --- End diff --
    
    If a connection between leader candidate and a vote is cut off right after leader acquires
enough vote but before leader receives acks from voters, the voter will also change mind,
right? If so should this also be added into comment if it does not fall into 1 or 2?


---

Mime
View raw message