This is an automated email from the ASF dual-hosted git repository.
ddiederen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 70f70d8 ZOOKEEPER-4318: Only report the follower sync time metrics if
sync is completed
70f70d8 is described below
commit 70f70d821c2c5225edeb54a8af0bd1911a51fc89
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
---
.../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");