You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by dr...@apache.org on 2022/08/17 08:08:53 UTC
[ratis] branch branch-2 updated: RATIS-1675. Revert RATIS-1601 & RATIS-1391 (#715)
This is an automated email from the ASF dual-hosted git repository.
dragonyliu pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new 7d3716db7 RATIS-1675. Revert RATIS-1601 & RATIS-1391 (#715)
7d3716db7 is described below
commit 7d3716db7383f1a2b02ebd532d75aaaf865a8420
Author: Yaolong Liu <ly...@163.com>
AuthorDate: Wed Aug 17 16:08:49 2022 +0800
RATIS-1675. Revert RATIS-1601 & RATIS-1391 (#715)
* Revert "RATIS-1601. Use the shaded dropwizard metrics and remove the dependency (#671)"
This reverts commit c41a60b6034ffc7ca635f7236cfaa0f50ffd2c51.
* Revert "RATIS-1391. Update library dropwizard.metrics version to 4.x (#632)"
This reverts commit dbb4ffa3
Co-authored-by: dragonyliu <dr...@tencent.com>
---
pom.xml | 22 +++++++++-
ratis-examples/pom.xml | 5 +++
.../ratis/grpc/metrics/GrpcServerMetrics.java | 4 +-
.../apache/ratis/grpc/server/GrpcLogAppender.java | 2 +-
.../ratis/grpc/server/TestGrpcServerMetrics.java | 2 +-
ratis-metrics/pom.xml | 21 +++++++++
.../java/org/apache/ratis/metrics/JVMMetrics.java | 8 ++--
.../apache/ratis/metrics/MetricRegistryInfo.java | 2 +-
.../org/apache/ratis/metrics/MetricsReporting.java | 8 ++--
.../apache/ratis/metrics/RatisMetricRegistry.java | 13 +++++-
.../ratis/metrics/RatisObjectNameFactory.java | 50 ----------------------
.../metrics/impl/RatisMetricRegistryImpl.java | 22 +++++++---
.../netty/metrics/NettyServerStreamRpcMetrics.java | 2 +-
.../apache/ratis/server/impl/LeaderElection.java | 2 +-
.../apache/ratis/server/impl/RaftServerImpl.java | 2 +-
.../ratis/server/impl/StateMachineMetrics.java | 2 +-
.../ratis/server/impl/StateMachineUpdater.java | 2 +-
.../server/metrics/LeaderElectionMetrics.java | 2 +-
.../ratis/server/metrics/RaftLogMetricsBase.java | 2 +-
.../server/metrics/RaftServerMetricsImpl.java | 6 +--
.../server/metrics/SegmentedRaftLogMetrics.java | 4 +-
.../server/raftlog/segmented/SegmentedRaftLog.java | 2 +-
.../raftlog/segmented/SegmentedRaftLogReader.java | 2 +-
.../raftlog/segmented/SegmentedRaftLogWorker.java | 4 +-
.../ratis/statemachine/impl/BaseStateMachine.java | 2 +-
.../java/org/apache/ratis/LogAppenderTests.java | 2 +-
.../test/java/org/apache/ratis/RaftBasicTests.java | 2 +-
.../ratis/server/impl/LeaderElectionTests.java | 2 +-
.../ratis/server/impl/TestLogAppenderMetrics.java | 2 +-
.../ratis/server/impl/TestRetryCacheMetrics.java | 2 +-
.../server/metrics/TestLeaderElectionMetrics.java | 14 ++----
.../ratis/statemachine/RaftSnapshotBaseTest.java | 4 +-
ratis-test/pom.xml | 6 +++
.../ratis/TestRaftServerSlownessDetection.java | 2 +-
.../apache/ratis/grpc/TestRaftServerWithGrpc.java | 2 +-
.../ratis/grpc/TestRaftSnapshotWithGrpc.java | 2 +-
.../ratis/server/raftlog/TestRaftLogMetrics.java | 2 +-
.../server/raftlog/segmented/TestLogSegment.java | 2 +-
.../raftlog/segmented/TestSegmentedRaftLog.java | 2 +-
39 files changed, 127 insertions(+), 112 deletions(-)
diff --git a/pom.xml b/pom.xml
index f6f0acd66..ffffe82e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -218,8 +218,7 @@
<testsThreadCount>4</testsThreadCount>
<!--metrics-->
- <shaded.dropwizard.version>4.2.9</shaded.dropwizard.version>
- <shaded.dropwizard.ganglia.version>3.2.6</shaded.dropwizard.ganglia.version>
+ <dropwizard.version>3.2.5</dropwizard.version>
</properties>
<dependencyManagement>
@@ -409,6 +408,25 @@
<artifactId>jcommander</artifactId>
<version>1.72</version>
</dependency>
+
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-core</artifactId>
+ <version>${dropwizard.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-jvm</artifactId>
+ <version>${dropwizard.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-ganglia</artifactId>
+ <version>${dropwizard.version}</version>
+ </dependency>
+
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
diff --git a/ratis-examples/pom.xml b/ratis-examples/pom.xml
index 1f8b86041..9deb3f9bc 100644
--- a/ratis-examples/pom.xml
+++ b/ratis-examples/pom.xml
@@ -97,6 +97,11 @@
<artifactId>jcommander</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-jvm</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
diff --git a/ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/GrpcServerMetrics.java b/ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/GrpcServerMetrics.java
index 0bc400d6b..01859c296 100644
--- a/ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/GrpcServerMetrics.java
+++ b/ratis-grpc/src/main/java/org/apache/ratis/grpc/metrics/GrpcServerMetrics.java
@@ -17,13 +17,13 @@
*/
package org.apache.ratis.grpc.metrics;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
import org.apache.ratis.metrics.MetricRegistryInfo;
import org.apache.ratis.metrics.RatisMetricRegistry;
import org.apache.ratis.metrics.RatisMetrics;
import org.apache.ratis.thirdparty.com.google.common.annotations.VisibleForTesting;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
public class GrpcServerMetrics extends RatisMetrics {
private static final String RATIS_GRPC_METRICS_APP_NAME = "ratis_grpc";
diff --git a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java b/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java
index 3e33a1787..d9bcb33d1 100644
--- a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java
+++ b/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java
@@ -49,7 +49,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
/**
* A new log appender implementation using grpc bi-directional stream API.
diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/server/TestGrpcServerMetrics.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/server/TestGrpcServerMetrics.java
index 252a0dc2e..bc54300c5 100644
--- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/server/TestGrpcServerMetrics.java
+++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/server/TestGrpcServerMetrics.java
@@ -30,7 +30,7 @@ import static org.mockito.Mockito.when;
import java.util.SortedMap;
import java.util.function.Consumer;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
import org.apache.ratis.grpc.metrics.GrpcServerMetrics;
import org.apache.ratis.metrics.RatisMetricRegistry;
import org.apache.ratis.proto.RaftProtos;
diff --git a/ratis-metrics/pom.xml b/ratis-metrics/pom.xml
index 25402f3ec..8742c7beb 100644
--- a/ratis-metrics/pom.xml
+++ b/ratis-metrics/pom.xml
@@ -55,5 +55,26 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-jvm</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-ganglia</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.acplt</groupId>
+ <artifactId>oncrpc</artifactId>
+ </exclusion>
+ </exclusions>
+ <optional>true</optional>
+ </dependency>
</dependencies>
</project>
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/JVMMetrics.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/JVMMetrics.java
index 402b6df63..1e5ee846b 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/JVMMetrics.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/JVMMetrics.java
@@ -17,10 +17,10 @@
*/
package org.apache.ratis.metrics;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jvm.ClassLoadingGaugeSet;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jvm.GarbageCollectorMetricSet;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jvm.MemoryUsageGaugeSet;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jvm.ThreadStatesGaugeSet;
+import com.codahale.metrics.jvm.ClassLoadingGaugeSet;
+import com.codahale.metrics.jvm.GarbageCollectorMetricSet;
+import com.codahale.metrics.jvm.MemoryUsageGaugeSet;
+import com.codahale.metrics.jvm.ThreadStatesGaugeSet;
import org.apache.ratis.util.TimeDuration;
/**
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricRegistryInfo.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricRegistryInfo.java
index 5563b96d1..1d9f2f10b 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricRegistryInfo.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricRegistryInfo.java
@@ -21,7 +21,7 @@ package org.apache.ratis.metrics;
import java.util.Objects;
-import org.apache.ratis.thirdparty.com.codahale.metrics.*;
+import com.codahale.metrics.MetricRegistry;
/**
*
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricsReporting.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricsReporting.java
index df51420f0..e45cefa96 100644
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricsReporting.java
+++ b/ratis-metrics/src/main/java/org/apache/ratis/metrics/MetricsReporting.java
@@ -20,8 +20,9 @@ package org.apache.ratis.metrics;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
-import org.apache.ratis.thirdparty.com.codahale.metrics.*;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jmx.JmxReporter;
+import com.codahale.metrics.ConsoleReporter;
+import com.codahale.metrics.JmxReporter;
+import com.codahale.metrics.JmxReporter.Builder;
import org.apache.ratis.util.TimeDuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,10 +53,9 @@ public final class MetricsReporting {
public static Consumer<RatisMetricRegistry> jmxReporter() {
return registry -> {
- JmxReporter.Builder builder =
+ Builder builder =
JmxReporter.forRegistry(registry.getDropWizardMetricRegistry());
builder.inDomain(registry.getMetricRegistryInfo().getApplicationName());
- builder.createsObjectNamesWith(new RatisObjectNameFactory());
JmxReporter reporter = builder.build();
reporter.start();
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 388f9f4e0..03f419c56 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
@@ -19,8 +19,17 @@ package org.apache.ratis.metrics;
import java.util.SortedMap;
-import org.apache.ratis.thirdparty.com.codahale.metrics.*;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jmx.JmxReporter;
+import com.codahale.metrics.ConsoleReporter;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Histogram;
+import com.codahale.metrics.JmxReporter;
+import com.codahale.metrics.Meter;
+import com.codahale.metrics.Metric;
+import com.codahale.metrics.MetricFilter;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.MetricSet;
+import com.codahale.metrics.Timer;
import org.apache.ratis.thirdparty.com.google.common.annotations.VisibleForTesting;
public interface RatisMetricRegistry {
diff --git a/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisObjectNameFactory.java b/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisObjectNameFactory.java
deleted file mode 100644
index dd790f6ac..000000000
--- a/ratis-metrics/src/main/java/org/apache/ratis/metrics/RatisObjectNameFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ratis.metrics;
-
-import org.apache.ratis.thirdparty.com.codahale.metrics.jmx.JmxReporter;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jmx.ObjectNameFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
-public class RatisObjectNameFactory implements ObjectNameFactory {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(JmxReporter.class);
-
- @Override
- public ObjectName createName(String type, String domain, String name) {
- try {
- ObjectName objectName = new ObjectName(domain, "name", name);
- if (objectName.isPattern()) {
- objectName = new ObjectName(domain, "name", ObjectName.quote(name));
- }
- return objectName;
- } catch (MalformedObjectNameException e) {
- try {
- return new ObjectName(domain, "name", ObjectName.quote(name));
- } catch (MalformedObjectNameException e1) {
- LOGGER.warn("Unable to register {} {}", type, name, e1);
- throw new RuntimeException(e1);
- }
- }
- }
-}
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 1b33efb8d..3f213ba24 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
@@ -20,10 +20,20 @@ package org.apache.ratis.metrics.impl;
import java.util.Map;
import java.util.SortedMap;
-import org.apache.ratis.thirdparty.com.codahale.metrics.*;
+import com.codahale.metrics.ConsoleReporter;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Histogram;
+import com.codahale.metrics.JmxReporter;
+import com.codahale.metrics.Meter;
+import com.codahale.metrics.Metric;
+import com.codahale.metrics.MetricFilter;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.MetricRegistry.MetricSupplier;
+import com.codahale.metrics.MetricSet;
+import com.codahale.metrics.Timer;
import org.apache.ratis.metrics.MetricRegistryInfo;
import org.apache.ratis.metrics.RatisMetricRegistry;
-import org.apache.ratis.thirdparty.com.codahale.metrics.jmx.JmxReporter;
import org.apache.ratis.thirdparty.com.google.common.annotations.VisibleForTesting;
/**
@@ -57,11 +67,11 @@ public class RatisMetricRegistryImpl implements RatisMetricRegistry {
return metricRegistry.remove(getMetricName(name));
}
- @Override public Gauge gauge(String name, MetricRegistry.MetricSupplier<Gauge> supplier) {
+ @Override public Gauge gauge(String name, MetricSupplier<Gauge> supplier) {
return metricRegistry.gauge(getMetricName(name), supplier);
}
- @Override public Timer timer(String name, MetricRegistry.MetricSupplier<Timer> supplier) {
+ @Override public Timer timer(String name, MetricSupplier<Timer> supplier) {
return metricRegistry.timer(getMetricName(name), supplier);
}
@@ -69,7 +79,7 @@ public class RatisMetricRegistryImpl implements RatisMetricRegistry {
return metricRegistry.getGauges(filter);
}
- @Override public Counter counter(String name, MetricRegistry.MetricSupplier<Counter> supplier) {
+ @Override public Counter counter(String name, MetricSupplier<Counter> supplier) {
return metricRegistry.counter(getMetricName(name), supplier);
}
@@ -81,7 +91,7 @@ public class RatisMetricRegistryImpl implements RatisMetricRegistry {
return metricRegistry.meter(getMetricName(name));
}
- @Override public Meter meter(String name, MetricRegistry.MetricSupplier<Meter> supplier) {
+ @Override public Meter meter(String name, MetricSupplier<Meter> supplier) {
return metricRegistry.meter(getMetricName(name), supplier);
}
diff --git a/ratis-netty/src/main/java/org/apache/ratis/netty/metrics/NettyServerStreamRpcMetrics.java b/ratis-netty/src/main/java/org/apache/ratis/netty/metrics/NettyServerStreamRpcMetrics.java
index 6c8125508..33f36328e 100644
--- a/ratis-netty/src/main/java/org/apache/ratis/netty/metrics/NettyServerStreamRpcMetrics.java
+++ b/ratis-netty/src/main/java/org/apache/ratis/netty/metrics/NettyServerStreamRpcMetrics.java
@@ -17,7 +17,7 @@
*/
package org.apache.ratis.netty.metrics;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
import org.apache.ratis.metrics.MetricRegistryInfo;
import org.apache.ratis.metrics.RatisMetricRegistry;
import org.apache.ratis.metrics.RatisMetrics;
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderElection.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderElection.java
index 73d8c0cdf..5ed18975e 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderElection.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderElection.java
@@ -58,7 +58,7 @@ import static org.apache.ratis.util.LifeCycle.State.NEW;
import static org.apache.ratis.util.LifeCycle.State.RUNNING;
import static org.apache.ratis.util.LifeCycle.State.STARTING;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
/**
* For a candidate to start an election for becoming the leader.
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
index 4c798d9d5..ee314dbe2 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
@@ -92,7 +92,7 @@ import static org.apache.ratis.util.LifeCycle.State.PAUSING;
import static org.apache.ratis.util.LifeCycle.State.RUNNING;
import static org.apache.ratis.util.LifeCycle.State.STARTING;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
import org.apache.ratis.util.function.CheckedSupplier;
class RaftServerImpl implements RaftServer.Division,
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineMetrics.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineMetrics.java
index 3466f3f67..02aaefa6f 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineMetrics.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineMetrics.java
@@ -26,7 +26,7 @@ import org.apache.ratis.statemachine.StateMachine;
import java.util.function.LongSupplier;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
/**
* Metrics Registry for the State Machine Updater. One instance per group.
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java
index 1d9b85e79..87aac06b2 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java
@@ -46,7 +46,7 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import java.util.stream.LongStream;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
/**
* This class tracks the log entries that have been committed in a quorum and
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 8b1b701a2..ef4ca8d33 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
@@ -24,7 +24,7 @@ import org.apache.ratis.metrics.RatisMetrics;
import org.apache.ratis.protocol.RaftGroupMemberId;
import org.apache.ratis.util.Timestamp;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
import java.util.Optional;
import java.util.function.LongSupplier;
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftLogMetricsBase.java b/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftLogMetricsBase.java
index fc40082fb..aef6398d8 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftLogMetricsBase.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftLogMetricsBase.java
@@ -18,7 +18,7 @@
package org.apache.ratis.server.metrics;
-import org.apache.ratis.thirdparty.com.codahale.metrics.*;
+import com.codahale.metrics.Timer;
import org.apache.ratis.metrics.MetricRegistryInfo;
import org.apache.ratis.metrics.RatisMetricRegistry;
import org.apache.ratis.metrics.RatisMetrics;
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftServerMetricsImpl.java b/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftServerMetricsImpl.java
index 210bf7d1e..4a0a9f336 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftServerMetricsImpl.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/metrics/RaftServerMetricsImpl.java
@@ -26,9 +26,9 @@ import java.util.SortedMap;
import java.util.function.Function;
import java.util.function.Supplier;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Counter;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Timer;
import org.apache.ratis.metrics.MetricRegistryInfo;
import org.apache.ratis.metrics.RatisMetricRegistry;
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/metrics/SegmentedRaftLogMetrics.java b/ratis-server/src/main/java/org/apache/ratis/server/metrics/SegmentedRaftLogMetrics.java
index 80ad0df58..f359e1a0b 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/metrics/SegmentedRaftLogMetrics.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/metrics/SegmentedRaftLogMetrics.java
@@ -18,7 +18,9 @@
package org.apache.ratis.server.metrics;
-import org.apache.ratis.thirdparty.com.codahale.metrics.*;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.Timer;
import org.apache.ratis.protocol.RaftGroupMemberId;
import org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogCache;
import org.apache.ratis.util.DataQueue;
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLog.java b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLog.java
index 74d6a8c03..0cb613ac0 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLog.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLog.java
@@ -50,7 +50,7 @@ import java.util.concurrent.CompletionException;
import java.util.function.Consumer;
import java.util.function.LongSupplier;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
/**
* The RaftLog implementation that writes log entries into segmented files in
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogReader.java b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogReader.java
index 98cd9022d..dc67d31c4 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogReader.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogReader.java
@@ -35,7 +35,7 @@ import java.io.*;
import java.util.Optional;
import java.util.zip.Checksum;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
class SegmentedRaftLogReader implements Closeable {
static final Logger LOG = LoggerFactory.getLogger(SegmentedRaftLogReader.class);
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
index 599772f12..3bc2b593b 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogWorker.java
@@ -17,8 +17,8 @@
*/
package org.apache.ratis.server.raftlog.segmented;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Timer;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.apache.ratis.conf.RaftProperties;
import org.apache.ratis.proto.RaftProtos.StateMachineLogEntryProto;
diff --git a/ratis-server/src/main/java/org/apache/ratis/statemachine/impl/BaseStateMachine.java b/ratis-server/src/main/java/org/apache/ratis/statemachine/impl/BaseStateMachine.java
index 629a55a67..a6fe5057f 100644
--- a/ratis-server/src/main/java/org/apache/ratis/statemachine/impl/BaseStateMachine.java
+++ b/ratis-server/src/main/java/org/apache/ratis/statemachine/impl/BaseStateMachine.java
@@ -18,7 +18,7 @@
package org.apache.ratis.statemachine.impl;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.apache.ratis.proto.RaftProtos;
import org.apache.ratis.protocol.Message;
diff --git a/ratis-server/src/test/java/org/apache/ratis/LogAppenderTests.java b/ratis-server/src/test/java/org/apache/ratis/LogAppenderTests.java
index b187dabae..0a0fdbe37 100644
--- a/ratis-server/src/test/java/org/apache/ratis/LogAppenderTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/LogAppenderTests.java
@@ -54,7 +54,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
public abstract class LogAppenderTests<CLUSTER extends MiniRaftCluster>
extends BaseTest
diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
index 5f09c86d2..7fdd4b9d1 100644
--- a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
@@ -17,7 +17,7 @@
*/
package org.apache.ratis;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
import org.apache.log4j.Level;
import org.apache.ratis.RaftTestUtil.SimpleMessage;
import org.apache.ratis.client.RaftClient;
diff --git a/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java b/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
index 6b5d04b24..e431588ef 100644
--- a/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
@@ -70,7 +70,7 @@ import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
public abstract class LeaderElectionTests<CLUSTER extends MiniRaftCluster>
extends BaseTest
diff --git a/ratis-server/src/test/java/org/apache/ratis/server/impl/TestLogAppenderMetrics.java b/ratis-server/src/test/java/org/apache/ratis/server/impl/TestLogAppenderMetrics.java
index 07870f981..30c547b95 100644
--- a/ratis-server/src/test/java/org/apache/ratis/server/impl/TestLogAppenderMetrics.java
+++ b/ratis-server/src/test/java/org/apache/ratis/server/impl/TestLogAppenderMetrics.java
@@ -31,7 +31,7 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
public class TestLogAppenderMetrics {
diff --git a/ratis-server/src/test/java/org/apache/ratis/server/impl/TestRetryCacheMetrics.java b/ratis-server/src/test/java/org/apache/ratis/server/impl/TestRetryCacheMetrics.java
index 93d466b52..37032381b 100644
--- a/ratis-server/src/test/java/org/apache/ratis/server/impl/TestRetryCacheMetrics.java
+++ b/ratis-server/src/test/java/org/apache/ratis/server/impl/TestRetryCacheMetrics.java
@@ -21,7 +21,7 @@ package org.apache.ratis.server.impl;
import static org.apache.ratis.server.metrics.RaftServerMetricsImpl.*;
import static org.junit.Assert.assertEquals;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
import org.apache.ratis.metrics.RatisMetricRegistry;
import org.apache.ratis.protocol.ClientInvocationId;
import org.apache.ratis.protocol.ClientId;
diff --git a/ratis-server/src/test/java/org/apache/ratis/server/metrics/TestLeaderElectionMetrics.java b/ratis-server/src/test/java/org/apache/ratis/server/metrics/TestLeaderElectionMetrics.java
index 392b4e45a..627078452 100644
--- a/ratis-server/src/test/java/org/apache/ratis/server/metrics/TestLeaderElectionMetrics.java
+++ b/ratis-server/src/test/java/org/apache/ratis/server/metrics/TestLeaderElectionMetrics.java
@@ -23,8 +23,6 @@ import static org.apache.ratis.server.metrics.LeaderElectionMetrics.LEADER_ELECT
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
-import org.apache.ratis.BaseTest;
import org.apache.ratis.metrics.RatisMetricRegistry;
import org.apache.ratis.protocol.RaftGroupId;
import org.apache.ratis.protocol.RaftGroupMemberId;
@@ -32,12 +30,10 @@ import org.apache.ratis.protocol.RaftPeerId;
import org.junit.BeforeClass;
import org.junit.Test;
-import java.util.SortedMap;
-
/**
* Test for LeaderElectionMetrics.
*/
-public class TestLeaderElectionMetrics extends BaseTest {
+public class TestLeaderElectionMetrics {
private static LeaderElectionMetrics leaderElectionMetrics;
private static RatisMetricRegistry ratisMetricRegistry;
@@ -54,11 +50,9 @@ public class TestLeaderElectionMetrics extends BaseTest {
@Test
public void testOnLeaderElectionCompletion() throws Exception {
leaderElectionMetrics.onNewLeaderElectionCompletion();
- final SortedMap<String, Gauge> gauges = ratisMetricRegistry.getGauges(
- (s, metric) -> s.contains(LAST_LEADER_ELECTION_ELAPSED_TIME));
- LOG.info("{} gauges: {}", LAST_LEADER_ELECTION_ELAPSED_TIME, gauges);
- final Long leaderElectionLatency = (Long)gauges.values().iterator().next().getValue();
- assertTrue("leaderElectionLatency = " + leaderElectionLatency, leaderElectionLatency >= 0L);
+ Long leaderElectionLatency = (Long) ratisMetricRegistry.getGauges((s, metric) ->
+ s.contains(LAST_LEADER_ELECTION_ELAPSED_TIME)).values().iterator().next().getValue();
+ assertTrue(leaderElectionLatency > 0L);
}
@Test
diff --git a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
index d168b7e2f..9538be62c 100644
--- a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
+++ b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
@@ -61,8 +61,8 @@ import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.LongStream;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Counter;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Timer;
public abstract class RaftSnapshotBaseTest extends BaseTest {
{
diff --git a/ratis-test/pom.xml b/ratis-test/pom.xml
index db72969eb..0a13d01d3 100644
--- a/ratis-test/pom.xml
+++ b/ratis-test/pom.xml
@@ -99,6 +99,12 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-jvm</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.ratis</groupId>
<artifactId>ratis-shell</artifactId>
diff --git a/ratis-test/src/test/java/org/apache/ratis/TestRaftServerSlownessDetection.java b/ratis-test/src/test/java/org/apache/ratis/TestRaftServerSlownessDetection.java
index 9b850e275..fded493bd 100644
--- a/ratis-test/src/test/java/org/apache/ratis/TestRaftServerSlownessDetection.java
+++ b/ratis-test/src/test/java/org/apache/ratis/TestRaftServerSlownessDetection.java
@@ -44,7 +44,7 @@ import java.util.List;
import java.util.SortedMap;
import java.util.concurrent.TimeUnit;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
/**
* Test Raft Server Slowness detection and notification to Leader's statemachine.
diff --git a/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftServerWithGrpc.java b/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftServerWithGrpc.java
index bcf70f169..8c92094e2 100644
--- a/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftServerWithGrpc.java
+++ b/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftServerWithGrpc.java
@@ -26,7 +26,7 @@ import static org.apache.ratis.server.metrics.RaftServerMetricsImpl.REQUEST_MEGA
import static org.apache.ratis.server.metrics.RaftServerMetricsImpl.REQUEST_BYTE_SIZE_LIMIT_HIT_COUNTER;
import static org.apache.ratis.server.metrics.RaftServerMetricsImpl.RESOURCE_LIMIT_HIT_COUNTER;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Gauge;
+import com.codahale.metrics.Gauge;
import org.apache.log4j.Level;
import org.apache.ratis.BaseTest;
import org.apache.ratis.protocol.RaftGroup;
diff --git a/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java b/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java
index 2c72df09f..38301772d 100644
--- a/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java
+++ b/ratis-test/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java
@@ -27,7 +27,7 @@ import org.apache.ratis.server.RaftServer;
import org.apache.ratis.statemachine.RaftSnapshotBaseTest;
import org.junit.Assert;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Counter;
+import com.codahale.metrics.Counter;
public class TestRaftSnapshotWithGrpc extends RaftSnapshotBaseTest {
@Override
diff --git a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/TestRaftLogMetrics.java b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/TestRaftLogMetrics.java
index 92a9a90dd..e5f7f7055 100644
--- a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/TestRaftLogMetrics.java
+++ b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/TestRaftLogMetrics.java
@@ -17,7 +17,7 @@
*/
package org.apache.ratis.server.raftlog;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
import org.apache.ratis.BaseTest;
import org.apache.ratis.RaftTestUtil;
import org.apache.ratis.client.RaftClient;
diff --git a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestLogSegment.java b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestLogSegment.java
index ba24f8997..724c2d3b8 100644
--- a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestLogSegment.java
+++ b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestLogSegment.java
@@ -52,7 +52,7 @@ import java.util.concurrent.ThreadLocalRandom;
import static org.apache.ratis.server.raftlog.RaftLog.INVALID_LOG_INDEX;
import static org.apache.ratis.server.raftlog.segmented.LogSegment.getEntrySize;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
+import com.codahale.metrics.Timer;
/**
* Test basic functionality of {@link LogSegment}
diff --git a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestSegmentedRaftLog.java b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestSegmentedRaftLog.java
index 2600e351e..6643dbdf3 100644
--- a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestSegmentedRaftLog.java
+++ b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestSegmentedRaftLog.java
@@ -68,9 +68,9 @@ import java.util.concurrent.TimeUnit;
import java.util.function.LongSupplier;
import java.util.function.Supplier;
-import org.apache.ratis.thirdparty.com.codahale.metrics.Timer;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import com.codahale.metrics.Timer;
@RunWith(Parameterized.class)
public class TestSegmentedRaftLog extends BaseTest {