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
The following commit(s) were added to refs/heads/master by this push:
new d98c7be Ratis-1435. Update metric of leaderElectionTimeout (#536)
d98c7be is described below
commit d98c7be27c0648d261955b83d2b375e6fd2ab9d1
Author: Yaolong Liu <[email protected]>
AuthorDate: Wed Nov 17 15:23:36 2021 +0800
Ratis-1435. Update metric of leaderElectionTimeout (#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();
+ }
}