You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sh...@apache.org on 2020/06/03 07:00:39 UTC
[incubator-ratis] branch master updated: RATIS-939. Fix Failed UT:
testRaftServerMetrics (#102)
This is an automated email from the ASF dual-hosted git repository.
shashikant pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 6ab75ae RATIS-939. Fix Failed UT: testRaftServerMetrics (#102)
6ab75ae is described below
commit 6ab75ae9da4b380056279b02f208dc9b1329325b
Author: runzhiwang <51...@users.noreply.github.com>
AuthorDate: Wed Jun 3 15:00:31 2020 +0800
RATIS-939. Fix Failed UT: testRaftServerMetrics (#102)
---
.../java/org/apache/ratis/metrics/RatisMetricRegistry.java | 2 ++
.../apache/ratis/metrics/impl/RatisMetricRegistryImpl.java | 5 +++++
.../main/java/org/apache/ratis/server/impl/LeaderState.java | 3 +++
.../java/org/apache/ratis/server/impl/PendingRequests.java | 13 +++++++++++++
.../org/apache/ratis/server/impl/RaftServerMetrics.java | 8 ++++++++
5 files changed, 31 insertions(+)
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetricRegistry.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetricRegistry.java
index af6a50c..03f419c 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetricRegistry.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisMetricRegistry.java
@@ -37,6 +37,8 @@ public interface RatisMetricRegistry {
Counter counter(String name);
+ boolean remove(String name);
+
Gauge gauge(String name, MetricRegistry.MetricSupplier<Gauge> supplier);
Timer timer(String name, MetricRegistry.MetricSupplier<Timer> supplier);
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/RatisMetricRegistryImpl.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/RatisMetricRegistryImpl.java
index da48fe9..3f213ba 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/RatisMetricRegistryImpl.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/impl/RatisMetricRegistryImpl.java
@@ -62,6 +62,11 @@ public class RatisMetricRegistryImpl implements RatisMetricRegistry {
return metricRegistry.counter(getMetricName(name));
}
+ @Override
+ public boolean remove(String name) {
+ return metricRegistry.remove(getMetricName(name));
+ }
+
@Override public Gauge gauge(String name, MetricSupplier<Gauge> supplier) {
return metricRegistry.gauge(getMetricName(name), supplier);
}
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderState.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderState.java
index 745a11a..a27c77e 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderState.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderState.java
@@ -277,6 +277,9 @@ public class LeaderState {
server.getServerRpc().notifyNotLeader(server.getMemberId().getGroupId());
logAppenderMetrics.unregister();
raftServerMetrics.unregister();
+ if (pendingRequests != null) {
+ pendingRequests.close();
+ }
}
void notifySenders() {
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequests.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequests.java
index 4cd0a0e..0ea59a7 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequests.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequests.java
@@ -165,6 +165,13 @@ class PendingRequests {
}
}
}
+
+ void close() {
+ if (raftServerMetrics != null) {
+ raftServerMetrics.removeNumPendingRequestsGauge();
+ raftServerMetrics.removeNumPendingRequestsByteSize();
+ }
+ }
}
private PendingRequest pendingSetConf;
@@ -247,4 +254,10 @@ class PendingRequests {
}
return transactions;
}
+
+ void close() {
+ if (pendingRequests != null) {
+ pendingRequests.close();
+ }
+ }
}
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerMetrics.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerMetrics.java
index a0ab45c..ec3ad68 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerMetrics.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerMetrics.java
@@ -210,10 +210,18 @@ public final class RaftServerMetrics extends RatisMetrics {
registry.gauge(REQUEST_QUEUE_SIZE, () -> queueSize);
}
+ boolean removeNumPendingRequestsGauge() {
+ return registry.remove(REQUEST_QUEUE_SIZE);
+ }
+
void addNumPendingRequestsByteSize(Gauge byteSize) {
registry.gauge(REQUEST_BYTE_SIZE, () -> byteSize);
}
+ boolean removeNumPendingRequestsByteSize() {
+ return registry.remove(REQUEST_BYTE_SIZE);
+ }
+
void onRequestByteSizeLimitHit() {
registry.counter(REQUEST_BYTE_SIZE_LIMIT_HIT_COUNTER).inc();
}