This is an automated email from the ASF dual-hosted git repository. ddiederen pushed a commit to branch branch-3.7 in repository https://gitbox.apache.org/repos/asf/zookeeper.git
commit fb86553cd45ec43b58cdb2dd5d56e4f59854ab29 Author: liwang <[email protected]> AuthorDate: Wed Jun 30 06:59:22 2021 +0000 ZOOKEEPER-4318: Only report the follower sync time metrics if sync is completed Motivation - Currently we report the follower sync time regardless whether sync is completed. This will give us some noisy data such as 0 sync time in cases where sync immediately failed. Change - Only report the sync time if the sync is completed. Author: liwang <[email protected]> Reviewers: Enrico Olivelli <[email protected]>, Michael Han <[email protected]>, Damien Diederen <[email protected]> Closes #1712 from li4wang/ZOOKEEPER-4318 (cherry picked from commit 70f70d821c2c5225edeb54a8af0bd1911a51fc89) Signed-off-by: Damien Diederen <[email protected]> --- .../org/apache/zookeeper/server/quorum/Follower.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java index 971710c..0eff9d2 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Follower.java @@ -103,16 +103,13 @@ public class Follower extends Learner { throw new IOException("Error: Epoch of leader is lower"); } long startTime = Time.currentElapsedTime(); - try { - self.setLeaderAddressAndId(leaderServer.addr, leaderServer.getId()); - self.setZabState(QuorumPeer.ZabState.SYNCHRONIZATION); - syncWithLeader(newEpochZxid); - self.setZabState(QuorumPeer.ZabState.BROADCAST); - completedSync = true; - } finally { - long syncTime = Time.currentElapsedTime() - startTime; - ServerMetrics.getMetrics().FOLLOWER_SYNC_TIME.add(syncTime); - } + self.setLeaderAddressAndId(leaderServer.addr, leaderServer.getId()); + self.setZabState(QuorumPeer.ZabState.SYNCHRONIZATION); + syncWithLeader(newEpochZxid); + self.setZabState(QuorumPeer.ZabState.BROADCAST); + completedSync = true; + long syncTime = Time.currentElapsedTime() - startTime; + ServerMetrics.getMetrics().FOLLOWER_SYNC_TIME.add(syncTime); if (self.getObserverMasterPort() > 0) { LOG.info("Starting ObserverMaster");
