You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sz...@apache.org on 2021/11/17 07:29:53 UTC
[ratis] 02/02: RATIS-1435. Update metric for transferLeadership. (#536)
This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
commit 77e5e7406436586c85ded0b5038a06d0b43864d7
Author: Yaolong Liu <ly...@163.com>
AuthorDate: Wed Nov 17 15:23:36 2021 +0800
RATIS-1435. Update metric for transferLeadership. (#536)
---
.../main/java/org/apache/ratis/server/impl/LeaderStateImpl.java | 2 +-
.../org/apache/ratis/server/metrics/LeaderElectionMetrics.java | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
index ee3c012..0385011 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
@@ -559,6 +559,7 @@ class LeaderStateImpl implements LeaderState {
final StartLeaderElectionRequestProto r = ServerProtoUtils.toStartLeaderElectionRequestProto(
server.getMemberId(), follower, lastEntry);
CompletableFuture.supplyAsync(() -> {
+ server.getLeaderElectionMetrics().onTransferLeadership();
try {
StartLeaderElectionReplyProto replyProto = server.getServerRpc().startLeaderElection(r);
LOG.info("{} received {} reply of StartLeaderElectionRequest from follower:{}",
@@ -937,7 +938,6 @@ class LeaderStateImpl implements LeaderState {
"is higher than leader's:{} and follower's lastEntry index:{} catch up with leader's:{}",
this, followerID, currentTerm, followerPriority, leaderPriority, followerInfo.getMatchIndex(),
leaderLastEntry.getIndex());
-
sendStartLeaderElectionToHigherPriorityPeer(followerID, leaderLastEntry);
return;
}
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/metrics/LeaderElectionMetrics.java b/ratis-server/src/main/java/org/apache/ratis/server/metrics/LeaderElectionMetrics.java
index 665f59b..ef4ca8d 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/metrics/LeaderElectionMetrics.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/metrics/LeaderElectionMetrics.java
@@ -41,9 +41,9 @@ public final class LeaderElectionMetrics extends RatisMetrics {
public static final String LEADER_ELECTION_TIMEOUT_COUNT_METRIC = "timeoutCount";
public static final String LEADER_ELECTION_TIME_TAKEN = "electionTime";
public static final String LAST_LEADER_ELAPSED_TIME = "lastLeaderElapsedTime";
+ public static final String TRANSFER_LEADERSHIP_COUNT_METRIC = "transferLeadershipCount";
- public static final String LAST_LEADER_ELECTION_ELAPSED_TIME =
- "lastLeaderElectionElapsedTime";
+ public static final String LAST_LEADER_ELECTION_ELAPSED_TIME = "lastLeaderElectionElapsedTime";
private volatile Timestamp lastElectionTime;
private LeaderElectionMetrics(RaftGroupMemberId serverId, LongSupplier getLastLeaderElapsedTimeMs) {
@@ -76,4 +76,8 @@ public final class LeaderElectionMetrics extends RatisMetrics {
public void onLeaderElectionTimeout() {
registry.counter(LEADER_ELECTION_TIMEOUT_COUNT_METRIC).inc();
}
+
+ public void onTransferLeadership() {
+ registry.counter(TRANSFER_LEADERSHIP_COUNT_METRIC).inc();
+ }
}