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/incubator-ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 87813c5 RATIS-1141. Class.getSimpleName() has a 4% overhead in the
SegmentedRaftLogWriter thread. (#268)
87813c5 is described below
commit 87813c54884e5dce0580d5c23a6b05c807868a29
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Wed Nov 11 22:51:48 2020 +0800
RATIS-1141. Class.getSimpleName() has a 4% overhead in the
SegmentedRaftLogWriter thread. (#268)
---
.../org/apache/ratis/client/RaftClientConfigKeys.java | 3 ++-
.../org/apache/ratis/client/impl/RaftOutputStream.java | 2 +-
.../org/apache/ratis/client/retry/ClientRetryEvent.java | 6 +++++-
.../client/retry/RequestTypeDependentRetryPolicy.java | 3 ++-
.../java/org/apache/ratis/datastream/DataStreamType.java | 8 +++++---
.../ratis/datastream/impl/DataStreamPacketImpl.java | 3 ++-
.../apache/ratis/protocol/GroupManagementRequest.java | 6 ++++--
.../org/apache/ratis/protocol/RaftClientMessage.java | 6 ++++--
.../apache/ratis/retry/MultipleLinearRandomRetry.java | 2 +-
.../main/java/org/apache/ratis/retry/RetryPolicies.java | 8 ++++----
.../src/main/java/org/apache/ratis/rpc/RpcType.java | 8 +++++---
.../src/main/java/org/apache/ratis/util/JavaUtils.java | 7 +++++++
.../main/java/org/apache/ratis/util/SlidingWindow.java | 2 +-
.../src/main/java/org/apache/ratis/util/TaskQueue.java | 4 ++--
.../main/java/org/apache/ratis/util/TimeDuration.java | 2 +-
.../src/test/java/org/apache/ratis/BaseTest.java | 4 ++--
.../java/org/apache/ratis/examples/common/Runner.java | 15 ++++++++-------
.../org/apache/ratis/examples/filestore/FileStore.java | 3 ++-
.../org/apache/ratis/examples/ParameterizedBaseTest.java | 16 +++++++---------
.../apache/ratis/examples/arithmetic/TestArithmetic.java | 4 ++--
.../org/apache/ratis/examples/counter/TestCounter.java | 4 ++--
.../ratis/grpc/client/GrpcClientProtocolClient.java | 2 +-
.../ratis/grpc/client/GrpcClientProtocolService.java | 8 ++++----
.../org/apache/ratis/grpc/client/GrpcClientStreamer.java | 6 ++++--
.../org/apache/ratis/grpc/client/GrpcOutputStream.java | 5 ++++-
.../org/apache/ratis/grpc/server/GrpcLogAppender.java | 10 ++++++----
.../java/org/apache/ratis/grpc/server/GrpcService.java | 7 ++++---
.../apache/ratis/hadooprpc/server/HadoopRpcService.java | 6 +++---
.../ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java | 5 +++--
.../apache/ratis/logservice/server/LogStateMachine.java | 5 +++--
.../apache/ratis/logservice/server/TestMetaServer.java | 5 +++--
.../main/java/org/apache/ratis/netty/NettyClient.java | 3 ++-
.../apache/ratis/netty/client/NettyClientStreamRpc.java | 6 +++---
.../org/apache/ratis/netty/server/NettyRpcService.java | 7 ++++---
.../apache/ratis/netty/server/NettyServerStreamRpc.java | 4 ++--
.../org/apache/ratis/server/RaftServerConfigKeys.java | 6 ++++--
.../org/apache/ratis/server/impl/CommitInfoCache.java | 5 +++--
.../apache/ratis/server/impl/ConfigurationManager.java | 7 +++++--
.../java/org/apache/ratis/server/impl/FollowerState.java | 2 +-
.../org/apache/ratis/server/impl/LeaderElection.java | 7 ++++---
.../java/org/apache/ratis/server/impl/LeaderState.java | 14 ++++++++------
.../java/org/apache/ratis/server/impl/LogAppender.java | 4 ++--
.../apache/ratis/server/impl/MessageStreamRequests.java | 2 +-
.../org/apache/ratis/server/impl/PendingRequest.java | 4 ++--
.../org/apache/ratis/server/impl/PendingRequests.java | 3 ++-
.../org/apache/ratis/server/impl/RaftServerImpl.java | 2 +-
.../org/apache/ratis/server/impl/RaftServerProxy.java | 8 ++------
.../apache/ratis/server/impl/RaftServerRpcWithProxy.java | 3 ++-
.../main/java/org/apache/ratis/server/impl/RoleInfo.java | 8 ++++----
.../apache/ratis/server/impl/StateMachineUpdater.java | 5 +++--
.../java/org/apache/ratis/server/impl/WatchRequests.java | 2 +-
.../java/org/apache/ratis/server/raftlog/RaftLog.java | 4 ++--
.../ratis/server/raftlog/segmented/SegmentedRaftLog.java | 2 +-
.../server/raftlog/segmented/SegmentedRaftLogCache.java | 6 +-----
.../raftlog/segmented/SegmentedRaftLogOutputStream.java | 3 ++-
.../server/raftlog/segmented/SegmentedRaftLogWorker.java | 6 +++---
.../org/apache/ratis/server/storage/RaftStorage.java | 3 ++-
.../apache/ratis/statemachine/impl/BaseStateMachine.java | 5 +++--
.../src/test/java/org/apache/ratis/LogAppenderTests.java | 3 ++-
.../src/test/java/org/apache/ratis/MiniRaftCluster.java | 12 ++++++------
.../src/test/java/org/apache/ratis/RaftBasicTests.java | 2 +-
.../ratis/server/impl/BlockRequestHandlingInjection.java | 6 +++---
.../ratis/server/impl/DelayLocalExecutionInjection.java | 5 +++--
.../ratis/server/impl/GroupManagementBaseTest.java | 2 +-
.../ratis/server/impl/RaftReconfigurationBaseTest.java | 4 ++--
.../apache/ratis/server/TestRaftServerConfigKeys.java | 2 +-
.../org/apache/ratis/server/impl/TestServerState.java | 5 ++---
.../server/raftlog/segmented/TestCacheEviction.java | 3 ++-
68 files changed, 197 insertions(+), 153 deletions(-)
diff --git
a/ratis-client/src/main/java/org/apache/ratis/client/RaftClientConfigKeys.java
b/ratis-client/src/main/java/org/apache/ratis/client/RaftClientConfigKeys.java
index 746a4ab..e6d85a0 100644
---
a/ratis-client/src/main/java/org/apache/ratis/client/RaftClientConfigKeys.java
+++
b/ratis-client/src/main/java/org/apache/ratis/client/RaftClientConfigKeys.java
@@ -18,6 +18,7 @@
package org.apache.ratis.client;
import org.apache.ratis.conf.RaftProperties;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.SizeInBytes;
import org.apache.ratis.util.TimeDuration;
import org.slf4j.Logger;
@@ -77,7 +78,7 @@ public interface RaftClientConfigKeys {
}
interface Experimental {
- String PREFIX = Async.PREFIX + "." +
Experimental.class.getSimpleName().toLowerCase();
+ String PREFIX = Async.PREFIX + "." +
JavaUtils.getClassSimpleName(Experimental.class).toLowerCase();
String SEND_DUMMY_REQUEST_KEY = PREFIX + ".send-dummy-request";
boolean SEND_DUMMY_REQUEST_DEFAULT = true;
diff --git
a/ratis-client/src/main/java/org/apache/ratis/client/impl/RaftOutputStream.java
b/ratis-client/src/main/java/org/apache/ratis/client/impl/RaftOutputStream.java
index 2286d4c..96251ae 100644
---
a/ratis-client/src/main/java/org/apache/ratis/client/impl/RaftOutputStream.java
+++
b/ratis-client/src/main/java/org/apache/ratis/client/impl/RaftOutputStream.java
@@ -131,6 +131,6 @@ public class RaftOutputStream extends OutputStream {
@Override
public String toString() {
- return getClass().getSimpleName() + "-" + getClient().getId() +
":byteFlushed=" + byteFlushed;
+ return JavaUtils.getClassSimpleName(getClass()) + "-" +
getClient().getId() + ":byteFlushed=" + byteFlushed;
}
}
diff --git
a/ratis-client/src/main/java/org/apache/ratis/client/retry/ClientRetryEvent.java
b/ratis-client/src/main/java/org/apache/ratis/client/retry/ClientRetryEvent.java
index 58a10ff..f0c38ef 100644
---
a/ratis-client/src/main/java/org/apache/ratis/client/retry/ClientRetryEvent.java
+++
b/ratis-client/src/main/java/org/apache/ratis/client/retry/ClientRetryEvent.java
@@ -21,6 +21,7 @@ import
org.apache.ratis.client.impl.RaftClientImpl.PendingClientRequest;
import org.apache.ratis.protocol.RaftClientRequest;
import org.apache.ratis.retry.RetryPolicy;
import
org.apache.ratis.thirdparty.com.google.common.annotations.VisibleForTesting;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.TimeDuration;
/** An {@link RetryPolicy.Event} specific to client request failure. */
@@ -73,6 +74,9 @@ public class ClientRetryEvent implements RetryPolicy.Event {
@Override
public String toString() {
- return getClass().getSimpleName() + ":attempt=" + attemptCount +
",request=" + request + ",cause=" + cause;
+ return JavaUtils.getClassSimpleName(getClass())
+ + ":attempt=" + attemptCount
+ + ",request=" + request
+ + ",cause=" + cause;
}
}
diff --git
a/ratis-client/src/main/java/org/apache/ratis/client/retry/RequestTypeDependentRetryPolicy.java
b/ratis-client/src/main/java/org/apache/ratis/client/retry/RequestTypeDependentRetryPolicy.java
index f03a8af..aa6db4b 100644
---
a/ratis-client/src/main/java/org/apache/ratis/client/retry/RequestTypeDependentRetryPolicy.java
+++
b/ratis-client/src/main/java/org/apache/ratis/client/retry/RequestTypeDependentRetryPolicy.java
@@ -20,6 +20,7 @@ package org.apache.ratis.client.retry;
import org.apache.ratis.proto.RaftProtos;
import org.apache.ratis.retry.RetryPolicies;
import org.apache.ratis.retry.RetryPolicy;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Preconditions;
import org.apache.ratis.util.TimeDuration;
@@ -74,7 +75,7 @@ public final class RequestTypeDependentRetryPolicy implements
RetryPolicy {
this.retryPolicyMap = Collections.unmodifiableMap(map);
this.timeoutMap = timeoutMap;
this.myString = () -> {
- final StringBuilder b = new
StringBuilder(getClass().getSimpleName()).append("{");
+ final StringBuilder b = new
StringBuilder(JavaUtils.getClassSimpleName(getClass())).append("{");
map.forEach((key, value) ->
b.append(key).append("->").append(value).append(", "));
b.setLength(b.length() - 2);
return b.append("}").toString();
diff --git
a/ratis-common/src/main/java/org/apache/ratis/datastream/DataStreamType.java
b/ratis-common/src/main/java/org/apache/ratis/datastream/DataStreamType.java
index f157fa0..58640b0 100644
--- a/ratis-common/src/main/java/org/apache/ratis/datastream/DataStreamType.java
+++ b/ratis-common/src/main/java/org/apache/ratis/datastream/DataStreamType.java
@@ -18,6 +18,7 @@
package org.apache.ratis.datastream;
import org.apache.ratis.conf.Parameters;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.ReflectionUtils;
/** The type of data stream implementations. */
@@ -41,10 +42,11 @@ public interface DataStreamType {
// Try using it as a class name
return
ReflectionUtils.newInstance(ReflectionUtils.getClass(dataStreamType,
DataStreamType.class));
} catch(Throwable t) {
+ final String classname =
JavaUtils.getClassSimpleName(DataStreamType.class);
final IllegalArgumentException iae = new IllegalArgumentException(
- "Invalid " + DataStreamType.class.getSimpleName() + ": \"" +
dataStreamType + "\" "
- + " cannot be used as a user-defined " +
DataStreamType.class.getSimpleName()
- + " and it is not a " +
SupportedDataStreamType.class.getSimpleName() + ".");
+ "Invalid " + classname + ": \"" + dataStreamType + "\" "
+ + " cannot be used as a user-defined " + classname
+ + " and it is not a " +
JavaUtils.getClassSimpleName(SupportedDataStreamType.class) + ".");
iae.addSuppressed(t);
iae.addSuppressed(fromSupportedRpcType);
throw iae;
diff --git
a/ratis-common/src/main/java/org/apache/ratis/datastream/impl/DataStreamPacketImpl.java
b/ratis-common/src/main/java/org/apache/ratis/datastream/impl/DataStreamPacketImpl.java
index f47caee..0b51c21 100644
---
a/ratis-common/src/main/java/org/apache/ratis/datastream/impl/DataStreamPacketImpl.java
+++
b/ratis-common/src/main/java/org/apache/ratis/datastream/impl/DataStreamPacketImpl.java
@@ -19,6 +19,7 @@ package org.apache.ratis.datastream.impl;
import org.apache.ratis.protocol.DataStreamPacket;
import org.apache.ratis.proto.RaftProtos.DataStreamPacketHeaderProto.Type;
+import org.apache.ratis.util.JavaUtils;
/**
* This is an abstract implementation of {@link DataStreamPacket}.
@@ -53,7 +54,7 @@ public abstract class DataStreamPacketImpl implements
DataStreamPacket {
@Override
public String toString() {
- return getClass().getSimpleName() + "{"
+ return JavaUtils.getClassSimpleName(getClass()) + "{"
+ "streamId=" + getStreamId()
+ ", streamOffset=" + getStreamOffset()
+ ", dataLength=" + getDataLength()
diff --git
a/ratis-common/src/main/java/org/apache/ratis/protocol/GroupManagementRequest.java
b/ratis-common/src/main/java/org/apache/ratis/protocol/GroupManagementRequest.java
index 129417a..4385ba2 100644
---
a/ratis-common/src/main/java/org/apache/ratis/protocol/GroupManagementRequest.java
+++
b/ratis-common/src/main/java/org/apache/ratis/protocol/GroupManagementRequest.java
@@ -17,6 +17,8 @@
*/
package org.apache.ratis.protocol;
+import org.apache.ratis.util.JavaUtils;
+
public final class GroupManagementRequest extends RaftClientRequest {
public abstract static class Op {
public abstract RaftGroupId getGroupId();
@@ -40,7 +42,7 @@ public final class GroupManagementRequest extends
RaftClientRequest {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + getGroup();
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + getGroup();
}
}
@@ -71,7 +73,7 @@ public final class GroupManagementRequest extends
RaftClientRequest {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + getGroupId() + ", "
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + getGroupId() +
", "
+ (deleteDirectory? "delete": (renameDirectory ? "rename" :
"retain"))
+ "-dir";
}
diff --git
a/ratis-common/src/main/java/org/apache/ratis/protocol/RaftClientMessage.java
b/ratis-common/src/main/java/org/apache/ratis/protocol/RaftClientMessage.java
index 8a2e4a9..e914f7f 100644
---
a/ratis-common/src/main/java/org/apache/ratis/protocol/RaftClientMessage.java
+++
b/ratis-common/src/main/java/org/apache/ratis/protocol/RaftClientMessage.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -17,6 +17,8 @@
*/
package org.apache.ratis.protocol;
+import org.apache.ratis.util.JavaUtils;
+
public abstract class RaftClientMessage implements RaftRpcMessage {
private final ClientId clientId;
private final RaftPeerId serverId;
@@ -54,7 +56,7 @@ public abstract class RaftClientMessage implements
RaftRpcMessage {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + clientId + "->" + serverId
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + clientId + "->" +
serverId
+ (groupId != null? "@" + groupId: "");
}
}
diff --git
a/ratis-common/src/main/java/org/apache/ratis/retry/MultipleLinearRandomRetry.java
b/ratis-common/src/main/java/org/apache/ratis/retry/MultipleLinearRandomRetry.java
index e273db5..bc453f5 100644
---
a/ratis-common/src/main/java/org/apache/ratis/retry/MultipleLinearRandomRetry.java
+++
b/ratis-common/src/main/java/org/apache/ratis/retry/MultipleLinearRandomRetry.java
@@ -80,7 +80,7 @@ public final class MultipleLinearRandomRetry implements
RetryPolicy {
throw new IllegalArgumentException("pairs must be neither null nor
empty.");
}
this.pairs = Collections.unmodifiableList(pairs);
- this.myString = JavaUtils.memoize(() -> getClass().getSimpleName() +
pairs);
+ this.myString = JavaUtils.memoize(() ->
JavaUtils.getClassSimpleName(getClass()) + pairs);
}
@Override
diff --git
a/ratis-common/src/main/java/org/apache/ratis/retry/RetryPolicies.java
b/ratis-common/src/main/java/org/apache/ratis/retry/RetryPolicies.java
index 4518c11..7c22d76 100644
--- a/ratis-common/src/main/java/org/apache/ratis/retry/RetryPolicies.java
+++ b/ratis-common/src/main/java/org/apache/ratis/retry/RetryPolicies.java
@@ -62,7 +62,7 @@ public interface RetryPolicies {
@Override
public String toString() {
- return getClass().getSimpleName();
+ return JavaUtils.getClassSimpleName(getClass());
}
}
@@ -76,7 +76,7 @@ public interface RetryPolicies {
@Override
public String toString() {
- return getClass().getSimpleName();
+ return JavaUtils.getClassSimpleName(getClass());
}
}
@@ -96,7 +96,7 @@ public interface RetryPolicies {
@Override
public String toString() {
- return getClass().getSimpleName() + "(sleepTime = " + sleepTime + ")";
+ return JavaUtils.getClassSimpleName(getClass()) + "(sleepTime = " +
sleepTime + ")";
}
}
@@ -113,7 +113,7 @@ public interface RetryPolicies {
}
this.maxAttempts = maxAttempts;
- this.myString = JavaUtils.memoize(() -> getClass().getSimpleName()
+ this.myString = JavaUtils.memoize(() ->
JavaUtils.getClassSimpleName(getClass())
+ "(maxAttempts=" + maxAttempts + ", sleepTime=" + sleepTime + ")");
}
diff --git a/ratis-common/src/main/java/org/apache/ratis/rpc/RpcType.java
b/ratis-common/src/main/java/org/apache/ratis/rpc/RpcType.java
index 1e412cd..c0f2a01 100644
--- a/ratis-common/src/main/java/org/apache/ratis/rpc/RpcType.java
+++ b/ratis-common/src/main/java/org/apache/ratis/rpc/RpcType.java
@@ -18,6 +18,7 @@
package org.apache.ratis.rpc;
import org.apache.ratis.conf.Parameters;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.ReflectionUtils;
/** The type of RPC implementations. */
@@ -42,10 +43,11 @@ public interface RpcType {
return ReflectionUtils.newInstance(
ReflectionUtils.getClass(rpcType, RpcType.class));
} catch(Exception e) {
+ final String classname = JavaUtils.getClassSimpleName(RpcType.class);
final IllegalArgumentException iae = new IllegalArgumentException(
- "Invalid " + RpcType.class.getSimpleName() + ": \"" + rpcType + "\" "
- + " cannot be used as a user-defined " +
RpcType.class.getSimpleName()
- + " and it is not a " + SupportedRpcType.class.getSimpleName() +
".");
+ "Invalid " + classname + ": \"" + rpcType + "\" "
+ + " cannot be used as a user-defined " + classname
+ + " and it is not a " +
JavaUtils.getClassSimpleName(SupportedRpcType.class) + ".");
iae.addSuppressed(e);
iae.addSuppressed(fromSupportedRpcType);
throw iae;
diff --git a/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
b/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
index 22215af..3281fdc 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
@@ -35,6 +35,8 @@ import java.util.TimerTask;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
import java.util.function.BooleanSupplier;
import java.util.function.Consumer;
@@ -50,6 +52,11 @@ public interface JavaUtils {
DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss,SSS");
CompletableFuture[] EMPTY_COMPLETABLE_FUTURE_ARRAY = {};
+ ConcurrentMap<Class<?>, String> CLASS_SIMPLE_NAMES = new
ConcurrentHashMap<>();
+ static String getClassSimpleName(Class<?> clazz) {
+ return CLASS_SIMPLE_NAMES.computeIfAbsent(clazz, Class::getSimpleName);
+ }
+
static String date() {
return DATE_FORMAT.format(new Date());
}
diff --git
a/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
b/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
index 75ffd80..921d043 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
@@ -39,7 +39,7 @@ public interface SlidingWindow {
Logger LOG = LoggerFactory.getLogger(SlidingWindow.class);
static String getName(Class<?> clazz, Object name) {
- return SlidingWindow.class.getSimpleName() + "$" + clazz.getSimpleName()
+ ":" + name;
+ return JavaUtils.getClassSimpleName(SlidingWindow.class) + "$" +
JavaUtils.getClassSimpleName(clazz) + ":" + name;
}
interface Request<REPLY> {
diff --git a/ratis-common/src/main/java/org/apache/ratis/util/TaskQueue.java
b/ratis-common/src/main/java/org/apache/ratis/util/TaskQueue.java
index 0089668..767e308 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/TaskQueue.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/TaskQueue.java
@@ -120,7 +120,7 @@ public class TaskQueue {
}
@Override
- public synchronized String toString() {
- return name + "-" + getClass().getSimpleName();
+ public String toString() {
+ return name + "-" + JavaUtils.getClassSimpleName(getClass());
}
}
diff --git a/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
b/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
index 951e5e9..1c186ff 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
@@ -259,7 +259,7 @@ public final class TimeDuration implements
Comparable<TimeDuration> {
public long roundUpNanos(long nanos) {
if (duration <= 0) {
throw new ArithmeticException(
- "Rounding up to a non-positive " + getClass().getSimpleName() + "
(=" + this + ")");
+ "Rounding up to a non-positive " +
JavaUtils.getClassSimpleName(getClass()) + " (=" + this + ")");
}
final long divisor = toLong(TimeUnit.NANOSECONDS);
diff --git a/ratis-common/src/test/java/org/apache/ratis/BaseTest.java
b/ratis-common/src/test/java/org/apache/ratis/BaseTest.java
index 792cc30..6267c3a 100644
--- a/ratis-common/src/test/java/org/apache/ratis/BaseTest.java
+++ b/ratis-common/src/test/java/org/apache/ratis/BaseTest.java
@@ -103,7 +103,7 @@ public abstract class BaseTest {
}
public File getClassTestDir() {
- return new File(getRootTestDir(), getClass().getSimpleName());
+ return new File(getRootTestDir(),
JavaUtils.getClassSimpleName(getClass()));
}
public File getTestDir() {
@@ -116,7 +116,7 @@ public abstract class BaseTest {
Class<? extends Throwable> expectedThrowableClass, Logger log,
Class<? extends Throwable>... expectedCauseClasses) {
if (log != null) {
- log.info("The test \"" + description + "\" throws " +
t.getClass().getSimpleName(), t);
+ log.info("The test \"{}\" throws {}", description,
JavaUtils.getClassSimpleName(t.getClass()), t);
}
Assert.assertEquals(expectedThrowableClass, t.getClass());
diff --git
a/ratis-examples/src/main/java/org/apache/ratis/examples/common/Runner.java
b/ratis-examples/src/main/java/org/apache/ratis/examples/common/Runner.java
index ad45141..f8090ff 100644
--- a/ratis-examples/src/main/java/org/apache/ratis/examples/common/Runner.java
+++ b/ratis-examples/src/main/java/org/apache/ratis/examples/common/Runner.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -21,6 +21,7 @@ import com.beust.jcommander.JCommander;
import com.beust.jcommander.ParameterException;
import org.apache.ratis.examples.arithmetic.cli.Arithmetic;
import org.apache.ratis.examples.filestore.cli.FileStore;
+import org.apache.ratis.util.JavaUtils;
import java.util.List;
import java.util.Optional;
@@ -51,13 +52,13 @@ public final class Runner {
JCommander.Builder builder = JCommander.newBuilder().addObject(runner);
commands.forEach(command -> builder
- .addCommand(command.getClass().getSimpleName().toLowerCase(),
command));
+
.addCommand(JavaUtils.getClassSimpleName(command.getClass()).toLowerCase(),
command));
JCommander jc = builder.build();
try {
jc.parse(newArgs);
- Optional<SubCommandBase> selectedCommand = commands.stream().filter(
- command -> command.getClass().getSimpleName()
- .equalsIgnoreCase(jc.getParsedCommand())).findFirst();
+ final Optional<SubCommandBase> selectedCommand = commands.stream()
+ .filter(command ->
JavaUtils.getClassSimpleName(command.getClass()).equalsIgnoreCase(jc.getParsedCommand()))
+ .findFirst();
if (selectedCommand.isPresent()) {
selectedCommand.get().run();
} else {
@@ -71,9 +72,9 @@ public final class Runner {
}
private static List<SubCommandBase> initializeCommands(String command) {
- if (command.equalsIgnoreCase(FileStore.class.getSimpleName())) {
+ if
(command.equalsIgnoreCase(JavaUtils.getClassSimpleName(FileStore.class))) {
return FileStore.getSubCommands();
- } else if (command.equalsIgnoreCase(Arithmetic.class.getSimpleName())) {
+ } else if
(command.equalsIgnoreCase(JavaUtils.getClassSimpleName(Arithmetic.class))) {
return Arithmetic.getSubCommands();
}
return null;
diff --git
a/ratis-examples/src/main/java/org/apache/ratis/examples/filestore/FileStore.java
b/ratis-examples/src/main/java/org/apache/ratis/examples/filestore/FileStore.java
index ceab594..230d7b0 100644
---
a/ratis-examples/src/main/java/org/apache/ratis/examples/filestore/FileStore.java
+++
b/ratis-examples/src/main/java/org/apache/ratis/examples/filestore/FileStore.java
@@ -105,7 +105,8 @@ public class FileStore implements Closeable {
}
public RaftPeerId getId() {
- return Objects.requireNonNull(idSupplier.get(), getClass().getSimpleName()
+ " is not initialized.");
+ return Objects.requireNonNull(idSupplier.get(),
+ () -> JavaUtils.getClassSimpleName(getClass()) + " is not
initialized.");
}
public Path getRoot() {
diff --git
a/ratis-examples/src/test/java/org/apache/ratis/examples/ParameterizedBaseTest.java
b/ratis-examples/src/test/java/org/apache/ratis/examples/ParameterizedBaseTest.java
index d8a411d..cd3b7ef 100644
---
a/ratis-examples/src/test/java/org/apache/ratis/examples/ParameterizedBaseTest.java
+++
b/ratis-examples/src/test/java/org/apache/ratis/examples/ParameterizedBaseTest.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -27,6 +27,7 @@ import org.apache.ratis.netty.MiniRaftClusterWithNetty;
import org.apache.ratis.server.RaftServerConfigKeys;
import org.apache.ratis.server.simulation.MiniRaftClusterWithSimulatedRpc;
import org.apache.ratis.statemachine.StateMachine;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.TimeDuration;
import org.junit.AfterClass;
import org.junit.Test;
@@ -46,7 +47,7 @@ public abstract class ParameterizedBaseTest extends BaseTest {
/** Subclasses should override this method to provide real data parameters.
*/
@Parameterized.Parameters
- public static Collection<Object[]> data() throws IOException {
+ public static Collection<Object[]> data() {
return Collections.emptyList();
}
@@ -76,14 +77,12 @@ public abstract class ParameterizedBaseTest extends
BaseTest {
private static void add(
Collection<Object[]> clusters, MiniRaftCluster.Factory factory,
- String[] ids, RaftProperties properties)
- throws IOException {
+ String[] ids, RaftProperties properties) {
clusters.add(new Object[]{factory.newCluster(ids, properties)});
}
public static Collection<Object[]> getMiniRaftClusters(
- RaftProperties prop, int clusterSize, Class<?>... clusterClasses)
- throws IOException {
+ RaftProperties prop, int clusterSize, Class<?>... clusterClasses) {
final List<Class<?>> classes = Arrays.asList(clusterClasses);
final boolean isAll = classes.isEmpty(); //empty means all
@@ -114,15 +113,14 @@ public abstract class ParameterizedBaseTest extends
BaseTest {
// add(clusters, MiniRaftClusterWithHadoopRpc.FACTORY, ids.next(), prop);
}
for(int i = 0; i < clusters.size(); i++) {
- LOG.info(i + ": " + clusters.get(i)[0].getClass().getSimpleName());
+ LOG.info(i + ": " +
JavaUtils.getClassSimpleName(clusters.get(i)[0].getClass()));
}
LOG.info("#clusters = " + clusters.size());
return clusters;
}
public static <S extends StateMachine> Collection<Object[]>
getMiniRaftClusters(
- Class<S> stateMachineClass, int clusterSize, Class<?>... clusterClasses)
- throws IOException {
+ Class<S> stateMachineClass, int clusterSize, Class<?>... clusterClasses)
{
final RaftProperties prop = new RaftProperties();
// avoid flaky behaviour in CI environment
diff --git
a/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java
b/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java
index da990fa..184bb3f 100644
---
a/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java
+++
b/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -45,7 +45,7 @@ public class TestArithmetic extends ParameterizedBaseTest {
}
@Parameterized.Parameters
- public static Collection<Object[]> data() throws IOException {
+ public static Collection<Object[]> data() {
return getMiniRaftClusters(ArithmeticStateMachine.class, 3);
}
diff --git
a/ratis-examples/src/test/java/org/apache/ratis/examples/counter/TestCounter.java
b/ratis-examples/src/test/java/org/apache/ratis/examples/counter/TestCounter.java
index d0aa86e..5c86916 100644
---
a/ratis-examples/src/test/java/org/apache/ratis/examples/counter/TestCounter.java
+++
b/ratis-examples/src/test/java/org/apache/ratis/examples/counter/TestCounter.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -35,7 +35,7 @@ import java.util.Collection;
public class TestCounter extends ParameterizedBaseTest {
@Parameterized.Parameters
- public static Collection<Object[]> data() throws IOException {
+ public static Collection<Object[]> data() {
return getMiniRaftClusters(CounterStateMachine.class, 3);
}
diff --git
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolClient.java
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolClient.java
index 1c25ea6..9aa133c 100644
---
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolClient.java
+++
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolClient.java
@@ -233,7 +233,7 @@ public class GrpcClientProtocolClient implements Closeable {
@Override
public String toString() {
- return getName() + ":" + getClass().getSimpleName();
+ return getName() + ":" + JavaUtils.getClassSimpleName(getClass());
}
}
diff --git
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolService.java
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolService.java
index 7f31c9f..b71e50a 100644
---
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolService.java
+++
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientProtocolService.java
@@ -105,11 +105,11 @@ public class GrpcClientProtocolService extends
RaftClientProtocolServiceImplBase
private final Map<Integer, OrderedRequestStreamObserver> map = new
ConcurrentHashMap<>();
void putNew(OrderedRequestStreamObserver so) {
- CollectionUtils.putNew(so.getId(), so, map, () ->
getClass().getSimpleName());
+ CollectionUtils.putNew(so.getId(), so, map, () ->
JavaUtils.getClassSimpleName(getClass()));
}
void removeExisting(OrderedRequestStreamObserver so) {
- CollectionUtils.removeExisting(so.getId(), so, map, () ->
getClass().getSimpleName());
+ CollectionUtils.removeExisting(so.getId(), so, map, () ->
JavaUtils.getClassSimpleName(getClass()));
}
void closeAllExisting(RaftGroupId groupId) {
@@ -170,7 +170,7 @@ public class GrpcClientProtocolService extends
RaftClientProtocolServiceImplBase
private abstract class RequestStreamObserver implements
StreamObserver<RaftClientRequestProto> {
private final int id = streamCount.getAndIncrement();
- private final String name = getId() + "-" + getClass().getSimpleName() +
id;
+ private final String name = getId() + "-" +
JavaUtils.getClassSimpleName(getClass()) + id;
private final StreamObserver<RaftClientReplyProto> responseObserver;
private final AtomicBoolean isClosed = new AtomicBoolean();
@@ -350,7 +350,7 @@ public class GrpcClientProtocolService extends
RaftClientProtocolServiceImplBase
if (!requestGroupId.equals(updated)) {
final GroupMismatchException exception = new
GroupMismatchException(getId()
+ ": The group (" + requestGroupId + ") of " + r.getClientId()
- + " does not match the group (" + updated + ") of the " +
getClass().getSimpleName());
+ + " does not match the group (" + updated + ") of the " +
JavaUtils.getClassSimpleName(getClass()));
responseError(exception, () -> "processClientRequest (Group
mismatched) for " + r);
return;
}
diff --git
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientStreamer.java
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientStreamer.java
index c6d86ef..cfb5948 100644
---
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientStreamer.java
+++
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcClientStreamer.java
@@ -80,6 +80,7 @@ public class GrpcClientStreamer implements Closeable {
private RaftPeerId leaderId;
private volatile GrpcClientProtocolProxy leaderProxy;
private final ClientId clientId;
+ private final String name;
private volatile RunningState running = RunningState.RUNNING;
private final ExceptionAndRetry exceptionAndRetry;
@@ -89,6 +90,7 @@ public class GrpcClientStreamer implements Closeable {
GrpcClientStreamer(RaftProperties prop, RaftGroup group,
RaftPeerId leaderId, ClientId clientId, GrpcTlsConfig tlsConfig) {
this.clientId = clientId;
+ this.name = JavaUtils.getClassSimpleName(getClass()) + "-" + clientId;
maxPendingNum = GrpcConfigKeys.OutputStream.outstandingAppendsMax(prop);
maxMessageSize = GrpcConfigKeys.messageSizeMax(prop, LOG::debug);
dataQueue = new ConcurrentLinkedDeque<>();
@@ -209,7 +211,7 @@ public class GrpcClientStreamer implements Closeable {
@Override
public String toString() {
- return this.getClass().getSimpleName() + "-" + clientId;
+ return name;
}
private class Sender extends Daemon {
@@ -313,7 +315,7 @@ public class GrpcClientStreamer implements Closeable {
}
@Override // called by handleError and handleNotLeader
- public void close() throws IOException {
+ public void close() {
active = false;
}
}
diff --git
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcOutputStream.java
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcOutputStream.java
index 6025006..af1b1f1 100644
---
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcOutputStream.java
+++
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/client/GrpcOutputStream.java
@@ -23,6 +23,7 @@ import org.apache.ratis.grpc.GrpcTlsConfig;
import org.apache.ratis.protocol.ClientId;
import org.apache.ratis.protocol.RaftGroup;
import org.apache.ratis.protocol.RaftPeerId;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.ProtoUtils;
import java.io.IOException;
@@ -35,6 +36,7 @@ public class GrpcOutputStream extends OutputStream {
private int count;
private final AtomicLong seqNum = new AtomicLong();
private final ClientId clientId;
+ private final String name;
private final GrpcClientStreamer streamer;
private boolean closed = false;
@@ -45,6 +47,7 @@ public class GrpcOutputStream extends OutputStream {
buf = new byte[bufferSize];
count = 0;
this.clientId = clientId;
+ this.name = JavaUtils.getClassSimpleName(getClass()) + "-" + clientId;
streamer = new GrpcClientStreamer(prop, group, leaderId, clientId,
tlsConfig);
}
@@ -102,7 +105,7 @@ public class GrpcOutputStream extends OutputStream {
@Override
public String toString() {
- return getClass().getSimpleName() + "-" + clientId;
+ return name;
}
private void checkClosed() throws IOException {
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 62ba7c9..23e55c2 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
@@ -254,7 +254,7 @@ public class GrpcLogAppender extends LogAppender {
* StreamObserver for handling responses from the follower
*/
private class AppendLogResponseHandler implements
StreamObserver<AppendEntriesReplyProto> {
- private final String name = getFollower().getName() + "-" +
getClass().getSimpleName();
+ private final String name = getFollower().getName() + "-" +
JavaUtils.getClassSimpleName(getClass());
/**
* After receiving a appendEntries reply, do the following:
@@ -350,7 +350,7 @@ public class GrpcLogAppender extends LogAppender {
}
private class InstallSnapshotResponseHandler implements
StreamObserver<InstallSnapshotReplyProto> {
- private final String name = getFollower().getName() + "-" +
getClass().getSimpleName();
+ private final String name = getFollower().getName() + "-" +
JavaUtils.getClassSimpleName(getClass());
private final Queue<Integer> pending;
private final AtomicBoolean done = new AtomicBoolean(false);
private final boolean isNotificationOnly;
@@ -608,8 +608,10 @@ public class GrpcLogAppender extends LogAppender {
@Override
public String toString() {
- return getClass().getSimpleName() + ":cid=" + callId + ",entriesCount="
+ entriesCount + ",lastEntry=" +
- lastEntry;
+ return JavaUtils.getClassSimpleName(getClass())
+ + ":cid=" + callId
+ + ",entriesCount=" + entriesCount
+ + ",lastEntry=" + lastEntry;
}
}
diff --git
a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcService.java
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcService.java
index 4fb3a39..ce0eef7 100644
--- a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcService.java
+++ b/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcService.java
@@ -52,7 +52,7 @@ public final class GrpcService extends
RaftServerRpcWithProxy<GrpcServerProtocol
PeerProxyMap<GrpcServerProtocolClient>> {
static final Logger LOG = LoggerFactory.getLogger(GrpcService.class);
public static final String GRPC_SEND_SERVER_REQUEST =
- GrpcService.class.getSimpleName() + ".sendRequest";
+ JavaUtils.getClassSimpleName(GrpcService.class) + ".sendRequest";
public static final class Builder extends RaftServerRpc.Builder<Builder,
GrpcService> {
private GrpcTlsConfig tlsConfig;
@@ -121,7 +121,7 @@ public final class GrpcService extends
RaftServerRpcWithProxy<GrpcServerProtocol
this.serverInterceptor = new MetricServerInterceptor(
idSupplier,
- getClass().getSimpleName() + "_" + Integer.toString(port)
+ JavaUtils.getClassSimpleName(getClass()) + "_" + port
);
NettyServerBuilder nettyServerBuilder = NettyServerBuilder.forPort(port)
@@ -174,7 +174,8 @@ public final class GrpcService extends
RaftServerRpcWithProxy<GrpcServerProtocol
} catch (IOException e) {
ExitUtils.terminate(1, "Failed to start Grpc server", e, LOG);
}
- LOG.info("{}: {} started, listening on {}", getId(),
getClass().getSimpleName(), getInetSocketAddress());
+ LOG.info("{}: {} started, listening on {}",
+ getId(), JavaUtils.getClassSimpleName(getClass()),
getInetSocketAddress());
}
@Override
diff --git
a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java
b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java
index daff7e4..b75938e 100644
---
a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java
+++
b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java
@@ -45,6 +45,7 @@ import com.google.protobuf.ByteString;
import org.apache.ratis.thirdparty.com.google.protobuf.GeneratedMessageV3;
import
org.apache.ratis.thirdparty.com.google.protobuf.InvalidProtocolBufferException;
import org.apache.ratis.util.CodeInjectionForTesting;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.PeerProxyMap;
import org.apache.ratis.util.function.CheckedFunction;
import org.slf4j.Logger;
@@ -57,7 +58,7 @@ import java.net.InetSocketAddress;
public final class HadoopRpcService extends
RaftServerRpcWithProxy<Proxy<RaftServerProtocolPB>,
PeerProxyMap<Proxy<RaftServerProtocolPB>>> {
public static final Logger LOG =
LoggerFactory.getLogger(HadoopRpcService.class);
- static final String CLASS_NAME = HadoopRpcService.class.getSimpleName();
+ static final String CLASS_NAME =
JavaUtils.getClassSimpleName(HadoopRpcService.class);
public static final String SEND_SERVER_REQUEST = CLASS_NAME +
".sendServerRequest";
public static final class Builder extends RaftServerRpc.Builder<Builder,
HadoopRpcService> {
@@ -108,8 +109,7 @@ public final class HadoopRpcService extends
RaftServerRpcWithProxy<Proxy<RaftSer
addRaftClientProtocol(server, conf);
- LOG.info(getClass().getSimpleName() + " created RPC.Server at "
- + ipcServerAddress);
+ LOG.info(JavaUtils.getClassSimpleName(getClass()) + " created RPC.Server
at " + ipcServerAddress);
}
@Override
diff --git
a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java
b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java
index 65cf97a..6e35e90 100644
---
a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java
+++
b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -30,6 +30,7 @@ import
org.apache.ratis.server.impl.DelayLocalExecutionInjection;
import org.apache.ratis.server.impl.RaftServerProxy;
import org.apache.ratis.server.impl.ServerImplUtils;
import org.apache.ratis.statemachine.StateMachine;
+import org.apache.ratis.util.JavaUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -99,6 +100,6 @@ public class MiniRaftClusterWithHadoopRpc extends
MiniRaftCluster.RpcBase {
@Override
public String toString() {
- return getClass().getSimpleName() + ": sendServerRequest=" +
sendServerRequest;
+ return JavaUtils.getClassSimpleName(getClass()) + ": sendServerRequest=" +
sendServerRequest;
}
}
diff --git
a/ratis-logservice/src/main/java/org/apache/ratis/logservice/server/LogStateMachine.java
b/ratis-logservice/src/main/java/org/apache/ratis/logservice/server/LogStateMachine.java
index f80526b..28fbba1 100644
---
a/ratis-logservice/src/main/java/org/apache/ratis/logservice/server/LogStateMachine.java
+++
b/ratis-logservice/src/main/java/org/apache/ratis/logservice/server/LogStateMachine.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -82,6 +82,7 @@ import
org.apache.ratis.statemachine.impl.SimpleStateMachineStorage;
import org.apache.ratis.statemachine.impl.SingleFileSnapshotInfo;
import org.apache.ratis.thirdparty.com.google.protobuf.TextFormat;
import org.apache.ratis.util.AutoCloseableLock;
+import org.apache.ratis.util.JavaUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -489,7 +490,7 @@ public class LogStateMachine extends BaseStateMachine {
try {
client.close();
} catch (Exception ignored) {
- LOG.warn(ignored.getClass().getSimpleName() + " is ignored", ignored);
+ LOG.warn("{} is ignored",
JavaUtils.getClassSimpleName(ignored.getClass()), ignored);
}
}
}
diff --git
a/ratis-logservice/src/test/java/org/apache/ratis/logservice/server/TestMetaServer.java
b/ratis-logservice/src/test/java/org/apache/ratis/logservice/server/TestMetaServer.java
index 34f32ea..62e5e8b 100644
---
a/ratis-logservice/src/test/java/org/apache/ratis/logservice/server/TestMetaServer.java
+++
b/ratis-logservice/src/test/java/org/apache/ratis/logservice/server/TestMetaServer.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -33,6 +33,7 @@ import org.apache.ratis.logservice.util.TestUtils;
import org.apache.ratis.metrics.JVMMetrics;
import org.apache.ratis.server.impl.RaftServerImpl;
import org.apache.ratis.server.impl.RaftServerProxy;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.TimeDuration;
import org.junit.AfterClass;
import org.junit.Before;
@@ -427,7 +428,7 @@ public class TestMetaServer {
try {
logStream.close();
} catch (Exception ignored) {
- LOG.warn(ignored.getClass().getSimpleName() + " is
ignored", ignored);
+ LOG.warn("{} is ignored",
JavaUtils.getClassSimpleName(ignored.getClass()), ignored);
}
}
}
diff --git a/ratis-netty/src/main/java/org/apache/ratis/netty/NettyClient.java
b/ratis-netty/src/main/java/org/apache/ratis/netty/NettyClient.java
index ab8266c..849d242 100644
--- a/ratis-netty/src/main/java/org/apache/ratis/netty/NettyClient.java
+++ b/ratis-netty/src/main/java/org/apache/ratis/netty/NettyClient.java
@@ -26,6 +26,7 @@ import
org.apache.ratis.thirdparty.io.netty.channel.socket.SocketChannel;
import
org.apache.ratis.thirdparty.io.netty.channel.socket.nio.NioSocketChannel;
import org.apache.ratis.thirdparty.io.netty.handler.logging.LogLevel;
import org.apache.ratis.thirdparty.io.netty.handler.logging.LoggingHandler;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.LifeCycle;
import org.apache.ratis.util.NetUtils;
@@ -33,7 +34,7 @@ import java.io.Closeable;
import java.net.InetSocketAddress;
public class NettyClient implements Closeable {
- private final LifeCycle lifeCycle = new
LifeCycle(getClass().getSimpleName());
+ private final LifeCycle lifeCycle = new
LifeCycle(JavaUtils.getClassSimpleName(getClass()));
private Channel channel;
diff --git
a/ratis-netty/src/main/java/org/apache/ratis/netty/client/NettyClientStreamRpc.java
b/ratis-netty/src/main/java/org/apache/ratis/netty/client/NettyClientStreamRpc.java
index b476bd3..17b240b 100644
---
a/ratis-netty/src/main/java/org/apache/ratis/netty/client/NettyClientStreamRpc.java
+++
b/ratis-netty/src/main/java/org/apache/ratis/netty/client/NettyClientStreamRpc.java
@@ -50,13 +50,13 @@ import java.util.function.Supplier;
public class NettyClientStreamRpc implements DataStreamClientRpc {
public static final Logger LOG =
LoggerFactory.getLogger(NettyClientStreamRpc.class);
- private final RaftPeer server;
+ private final String name;
private final EventLoopGroup workerGroup = new NioEventLoopGroup();
private final Supplier<Channel> channel;
private final ConcurrentMap<Long, Queue<CompletableFuture<DataStreamReply>>>
replies = new ConcurrentHashMap<>();
public NettyClientStreamRpc(RaftPeer server, RaftProperties properties){
- this.server = server;
+ this.name = JavaUtils.getClassSimpleName(getClass()) + "->" + server;
final ChannelFuture f = new Bootstrap()
.group(workerGroup)
@@ -144,6 +144,6 @@ public class NettyClientStreamRpc implements
DataStreamClientRpc {
@Override
public String toString() {
- return getClass().getSimpleName() + "->" + server;
+ return name;
}
}
diff --git
a/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyRpcService.java
b/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyRpcService.java
index 220f9f0..4b0f02f 100644
---
a/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyRpcService.java
+++
b/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyRpcService.java
@@ -44,6 +44,7 @@ import
org.apache.ratis.proto.netty.NettyProtos.RaftNettyExceptionReplyProto;
import org.apache.ratis.proto.netty.NettyProtos.RaftNettyServerReplyProto;
import org.apache.ratis.proto.netty.NettyProtos.RaftNettyServerRequestProto;
import org.apache.ratis.util.CodeInjectionForTesting;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.ProtoUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,7 +59,7 @@ import java.util.Objects;
*/
public final class NettyRpcService extends
RaftServerRpcWithProxy<NettyRpcProxy, NettyRpcProxy.PeerMap> {
public static final Logger LOG =
LoggerFactory.getLogger(NettyRpcService.class);
- static final String CLASS_NAME = NettyRpcService.class.getSimpleName();
+ static final String CLASS_NAME =
JavaUtils.getClassSimpleName(NettyRpcService.class);
public static final String SEND_SERVER_REQUEST = CLASS_NAME +
".sendServerRequest";
public static final class Builder extends RaftServerRpc.Builder<Builder,
NettyRpcService> {
@@ -102,7 +103,7 @@ public final class NettyRpcService extends
RaftServerRpcWithProxy<NettyRpcProxy,
final ChannelInitializer<SocketChannel> initializer
= new ChannelInitializer<SocketChannel>() {
@Override
- protected void initChannel(SocketChannel ch) throws Exception {
+ protected void initChannel(SocketChannel ch) {
final ChannelPipeline p = ch.pipeline();
p.addLast(new ProtobufVarint32FrameDecoder());
@@ -137,7 +138,7 @@ public final class NettyRpcService extends
RaftServerRpcWithProxy<NettyRpcProxy,
try {
channelFuture.syncUninterruptibly();
} catch(Exception t) {
- throw new IOException(getId() + ": Failed to start " +
getClass().getSimpleName(), t);
+ throw new IOException(getId() + ": Failed to start " +
JavaUtils.getClassSimpleName(getClass()), t);
}
}
diff --git
a/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyServerStreamRpc.java
b/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyServerStreamRpc.java
index 03019fd..14411ab 100644
---
a/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyServerStreamRpc.java
+++
b/ratis-netty/src/main/java/org/apache/ratis/netty/server/NettyServerStreamRpc.java
@@ -212,7 +212,7 @@ public class NettyServerStreamRpc implements
DataStreamServerRpc {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + request;
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + request;
}
}
@@ -276,7 +276,7 @@ public class NettyServerStreamRpc implements
DataStreamServerRpc {
public NettyServerStreamRpc(RaftServer server) {
this.server = server;
- this.name = server.getId() + "-" + getClass().getSimpleName();
+ this.name = server.getId() + "-" +
JavaUtils.getClassSimpleName(getClass());
final RaftProperties properties = server.getProperties();
final int port = NettyConfigKeys.DataStream.port(properties);
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
b/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
index 472785a..e652408 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
@@ -18,6 +18,7 @@
package org.apache.ratis.server;
import org.apache.ratis.conf.RaftProperties;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.SizeInBytes;
import org.apache.ratis.util.TimeDuration;
import org.slf4j.Logger;
@@ -493,7 +494,7 @@ public interface RaftServerConfigKeys {
}
interface Notification {
- String PREFIX = RaftServerConfigKeys.PREFIX + "." +
Notification.class.getSimpleName().toLowerCase();
+ String PREFIX = RaftServerConfigKeys.PREFIX + "." +
JavaUtils.getClassSimpleName(Notification.class).toLowerCase();
/** Timeout value to notify the state machine when there is no leader. */
String NO_LEADER_TIMEOUT_KEY = PREFIX + ".no-leader.timeout";
@@ -508,7 +509,8 @@ public interface RaftServerConfigKeys {
}
interface LeaderElection {
- String PREFIX = RaftServerConfigKeys.PREFIX + "." +
LeaderElection.class.getSimpleName().toLowerCase();
+ String PREFIX = RaftServerConfigKeys.PREFIX
+ + "." +
JavaUtils.getClassSimpleName(LeaderElection.class).toLowerCase();
String LEADER_STEP_DOWN_WAIT_TIME_KEY = PREFIX +
".leader.step-down.wait-time";
TimeDuration LEADER_STEP_DOWN_WAIT_TIME_DEFAULT = TimeDuration.valueOf(10,
TimeUnit.SECONDS);
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/CommitInfoCache.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/CommitInfoCache.java
index 7b8cd6c..aa0bb05 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/CommitInfoCache.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/CommitInfoCache.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -20,6 +20,7 @@ package org.apache.ratis.server.impl;
import org.apache.ratis.protocol.RaftPeer;
import org.apache.ratis.protocol.RaftPeerId;
import org.apache.ratis.proto.RaftProtos.CommitInfoProto;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.ProtoUtils;
import java.util.Objects;
@@ -47,6 +48,6 @@ class CommitInfoCache {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + map.values();
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + map.values();
}
}
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/ConfigurationManager.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/ConfigurationManager.java
index 5106cb4..10f95b7 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/ConfigurationManager.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/ConfigurationManager.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -17,6 +17,7 @@
*/
package org.apache.ratis.server.impl;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Preconditions;
import org.apache.ratis.util.StringUtils;
@@ -82,7 +83,9 @@ public class ConfigurationManager {
@Override
public synchronized String toString() {
- return getClass().getSimpleName() + ", init=" + initialConf + ", confs=" +
StringUtils.map2String(configurations);
+ return JavaUtils.getClassSimpleName(getClass())
+ + ", init=" + initialConf
+ + ", confs=" + StringUtils.map2String(configurations);
}
// TODO: remove Configuration entries after they are committed
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
index 2760b4a..7c08a0e 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
@@ -63,7 +63,7 @@ class FollowerState extends Daemon {
private final AtomicInteger outstandingOp = new AtomicInteger();
FollowerState(RaftServerImpl server, Object reason) {
- this.name = server.getMemberId() + "-" + getClass().getSimpleName();
+ this.name = server.getMemberId() + "-" +
JavaUtils.getClassSimpleName(getClass());
this.server = server;
this.reason = reason;
}
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 039ce1d..7f71019 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
@@ -24,6 +24,7 @@ import org.apache.ratis.protocol.RaftPeerId;
import org.apache.ratis.server.protocol.TermIndex;
import
org.apache.ratis.thirdparty.com.google.common.annotations.VisibleForTesting;
import org.apache.ratis.util.Daemon;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.LifeCycle;
import org.apache.ratis.util.LogUtils;
import org.apache.ratis.util.Preconditions;
@@ -118,7 +119,7 @@ class LeaderElection implements Runnable {
private final RaftServerImpl server;
LeaderElection(RaftServerImpl server) {
- this.name = server.getMemberId() + "-" + getClass().getSimpleName() +
COUNT.incrementAndGet();
+ this.name = server.getMemberId() + "-" +
JavaUtils.getClassSimpleName(getClass()) + COUNT.incrementAndGet();
this.lifeCycle = new LifeCycle(this);
this.daemon = new Daemon(this);
this.server = server;
@@ -167,11 +168,11 @@ class LeaderElection implements Runnable {
final LifeCycle.State state = lifeCycle.getCurrentState();
if (state.isClosingOrClosed()) {
LOG.info("{}: {} is safely ignored since this is already {}",
- this, e.getClass().getSimpleName(), state, e);
+ this, JavaUtils.getClassSimpleName(e.getClass()), state, e);
} else {
if (!server.isAlive()) {
LOG.info("{}: {} is safely ignored since the server is not alive:
{}",
- this, e.getClass().getSimpleName(), server, e);
+ this, JavaUtils.getClassSimpleName(e.getClass()), server, e);
} else {
LOG.error("{}: Failed, state={}", this, state, e);
}
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 fcf8996..1e7f348 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
@@ -62,7 +62,7 @@ import java.util.stream.Stream;
*/
public class LeaderState {
private static final Logger LOG = RaftServerImpl.LOG;
- public static final String APPEND_PLACEHOLDER =
LeaderState.class.getSimpleName() + ".placeholder";
+ public static final String APPEND_PLACEHOLDER =
JavaUtils.getClassSimpleName(LeaderState.class) + ".placeholder";
private enum BootStrapProgress {
NOPROGRESS, PROGRESSING, CAUGHTUP
@@ -71,9 +71,11 @@ public class LeaderState {
enum StepDownReason {
HIGHER_TERM, HIGHER_PRIORITY, LOST_MAJORITY_HEARTBEATS,
STATE_MACHINE_EXCEPTION;
+ private final String longName = JavaUtils.getClassSimpleName(getClass()) +
":" + name();
+
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + name();
+ return longName;
}
}
@@ -119,7 +121,7 @@ public class LeaderState {
}
private class EventQueue {
- private final String name = server.getMemberId() + "-" +
getClass().getSimpleName();
+ private final String name = server.getMemberId() + "-" +
JavaUtils.getClassSimpleName(getClass());
private final BlockingQueue<StateUpdateEvent> queue = new
ArrayBlockingQueue<>(4096);
void submit(StateUpdateEvent event) {
@@ -235,7 +237,7 @@ public class LeaderState {
private final LogAppenderMetrics logAppenderMetrics;
LeaderState(RaftServerImpl server, RaftProperties properties) {
- this.name = server.getMemberId() + "-" + getClass().getSimpleName();
+ this.name = server.getMemberId() + "-" +
JavaUtils.getClassSimpleName(getClass());
this.server = server;
stagingCatchupGap = RaftServerConfigKeys.stagingCatchupGap(properties);
@@ -463,7 +465,7 @@ public class LeaderState {
void restartSender(LogAppender sender) {
final FollowerInfo follower = sender.getFollower();
- LOG.info("{}: Restarting {} for {}", this,
sender.getClass().getSimpleName(), follower.getName());
+ LOG.info("{}: Restarting {} for {}", this,
JavaUtils.getClassSimpleName(sender.getClass()), follower.getName());
sender.stopAppender();
senders.removeAll(Collections.singleton(sender));
addAndStartSenders(Collections.singleton(follower.getPeer()));
@@ -919,7 +921,7 @@ public class LeaderState {
}
private class ConfigurationStagingState {
- private final String name = server.getMemberId() + "-" +
getClass().getSimpleName();
+ private final String name = server.getMemberId() + "-" +
JavaUtils.getClassSimpleName(getClass());
private final Map<RaftPeerId, RaftPeer> newPeers;
private final PeerConfiguration newConf;
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
index a1743ca..a2f1624 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
@@ -55,7 +55,7 @@ public class LogAppender {
public static final Logger LOG = LoggerFactory.getLogger(LogAppender.class);
class AppenderDaemon {
- private final String name = LogAppender.this + "-" +
getClass().getSimpleName();
+ private final String name = LogAppender.this + "-" +
JavaUtils.getClassSimpleName(getClass());
private final LifeCycle lifeCycle = new LifeCycle(name);
private final Daemon daemon = new Daemon(this::run);
@@ -150,7 +150,7 @@ public class LogAppender {
public LogAppender(RaftServerImpl server, LeaderState leaderState,
FollowerInfo f) {
this.follower = f;
- this.name = follower.getName() + "-" + getClass().getSimpleName();
+ this.name = follower.getName() + "-" +
JavaUtils.getClassSimpleName(getClass());
this.server = server;
this.leaderState = leaderState;
this.raftLog = server.getState().getLog();
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/MessageStreamRequests.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/MessageStreamRequests.java
index d3d670a..adb7e45 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/MessageStreamRequests.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/MessageStreamRequests.java
@@ -113,7 +113,7 @@ class MessageStreamRequests {
private final StreamMap streams = new StreamMap();
MessageStreamRequests(Object name) {
- this.name = name + "-" + getClass().getSimpleName();
+ this.name = name + "-" + JavaUtils.getClassSimpleName(getClass());
}
CompletableFuture<?> streamAsync(RaftClientRequest request) {
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequest.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequest.java
index 933dfd1..bb9d058 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequest.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/PendingRequest.java
@@ -21,6 +21,7 @@ import org.apache.ratis.proto.RaftProtos.CommitInfoProto;
import org.apache.ratis.protocol.*;
import org.apache.ratis.protocol.exceptions.NotLeaderException;
import org.apache.ratis.statemachine.TransactionContext;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Preconditions;
import java.util.Collection;
@@ -84,7 +85,6 @@ public class PendingRequest implements
Comparable<PendingRequest> {
@Override
public String toString() {
- return getClass().getSimpleName() + "(index=" + index
- + ", request=" + request;
+ return JavaUtils.getClassSimpleName(getClass()) + ":index=" + index + ",
request=" + request;
}
}
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 1a222ea..03e54a7 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
@@ -29,6 +29,7 @@ import org.apache.ratis.protocol.RaftGroupMemberId;
import org.apache.ratis.protocol.SetConfigurationRequest;
import org.apache.ratis.server.RaftServerConfigKeys;
import org.apache.ratis.statemachine.TransactionContext;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Preconditions;
import org.apache.ratis.util.ResourceSemaphore;
import org.apache.ratis.util.SizeInBytes;
@@ -179,7 +180,7 @@ class PendingRequests {
private final RequestMap pendingRequests;
PendingRequests(RaftGroupMemberId id, RaftProperties properties,
RaftServerMetrics raftServerMetrics) {
- this.name = id + "-" + getClass().getSimpleName();
+ this.name = id + "-" + JavaUtils.getClassSimpleName(getClass());
this.pendingRequests = new RequestMap(id,
RaftServerConfigKeys.Write.elementLimit(properties),
RaftServerConfigKeys.Write.byteLimit(properties),
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 42b3eb1..f6bbb84 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
@@ -80,7 +80,7 @@ public class RaftServerImpl implements RaftServerProtocol,
RaftServerAsynchronou
RaftClientProtocol, RaftClientAsynchronousProtocol {
public static final Logger LOG =
LoggerFactory.getLogger(RaftServerImpl.class);
- private static final String CLASS_NAME =
RaftServerImpl.class.getSimpleName();
+ private static final String CLASS_NAME =
JavaUtils.getClassSimpleName(RaftServerImpl.class);
static final String REQUEST_VOTE = CLASS_NAME + ".requestVote";
static final String APPEND_ENTRIES = CLASS_NAME + ".appendEntries";
static final String INSTALL_SNAPSHOT = CLASS_NAME + ".installSnapshot";
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerProxy.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerProxy.java
index 14dc429..f29cbad 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerProxy.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerProxy.java
@@ -167,9 +167,8 @@ public class RaftServerProxy implements RaftServer {
private final DataStreamServerRpc dataStreamServerRpc;
- private ExecutorService implExecutor;
-
private final ImplMap impls = new ImplMap();
+ private final ExecutorService implExecutor =
Executors.newSingleThreadExecutor();
RaftServerProxy(RaftPeerId id, StateMachine.Registry stateMachineRegistry,
RaftProperties properties, Parameters parameters) {
@@ -182,12 +181,9 @@ public class RaftServerProxy implements RaftServer {
this.serverRpc = factory.newRaftServerRpc(this);
this.id = id != null? id: RaftPeerId.valueOf(getIdStringFrom(serverRpc));
+ this.lifeCycle = new LifeCycle(this.id + "-" +
JavaUtils.getClassSimpleName(getClass()));
this.dataStreamServerRpc = new DataStreamServerImpl(this,
parameters).getServerRpc();
-
- this.lifeCycle = new LifeCycle(this.id + "-" + getClass().getSimpleName());
-
- this.implExecutor = Executors.newSingleThreadExecutor();
}
/** Check the storage dir and add groups*/
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerRpcWithProxy.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerRpcWithProxy.java
index 056bbea..ba10ddb 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerRpcWithProxy.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerRpcWithProxy.java
@@ -39,7 +39,8 @@ public abstract class RaftServerRpcWithProxy<PROXY extends
Closeable, PROXIES ex
public RaftServerRpcWithProxy(Supplier<RaftPeerId> idSupplier,
Function<RaftPeerId, PROXIES> proxyCreater) {
this.idSupplier = idSupplier;
- this.lifeCycleSupplier = JavaUtils.memoize(() -> new LifeCycle(getId() +
"-" + getClass().getSimpleName()));
+ this.lifeCycleSupplier = JavaUtils.memoize(
+ () -> new LifeCycle(getId() + "-" +
JavaUtils.getClassSimpleName(getClass())));
this.proxiesSupplier = JavaUtils.memoize(() ->
proxyCreater.apply(getId()));
}
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RoleInfo.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RoleInfo.java
index 74be175..1fbd6f4 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/RoleInfo.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/RoleInfo.java
@@ -101,7 +101,7 @@ class RoleInfo {
throw new NullPointerException("leaderState == null");
}
} else {
- LOG.info("{}: shutdown {}", id, leader.getClass().getSimpleName());
+ LOG.info("{}: shutdown {}", id, leader);
leader.stop();
}
// TODO: make sure that StateMachineUpdater has applied all transactions
that have context
@@ -118,7 +118,7 @@ class RoleInfo {
void shutdownFollowerState() {
final FollowerState follower = followerState.getAndSet(null);
if (follower != null) {
- LOG.info("{}: shutdown {}", id, follower.getClass().getSimpleName());
+ LOG.info("{}: shutdown {}", id, follower);
follower.stopRunning();
follower.interrupt();
}
@@ -131,7 +131,7 @@ class RoleInfo {
void shutdownLeaderElection() {
final LeaderElection election = leaderElection.getAndSet(null);
if (election != null) {
- LOG.info("{}: shutdown {}", id, election.getClass().getSimpleName());
+ LOG.info("{}: shutdown {}", id, election);
election.shutdown();
// no need to interrupt the election thread
}
@@ -140,7 +140,7 @@ class RoleInfo {
private <T> T updateAndGet(AtomicReference<T> ref, T current) {
final T updated = ref.updateAndGet(previous -> previous != null? previous:
current);
Preconditions.assertTrue(updated == current, "previous != null");
- LOG.info("{}: start {}", id, current.getClass().getSimpleName());
+ LOG.info("{}: start {}", id, current);
return updated;
}
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 6c0e218..367c777 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
@@ -83,7 +83,7 @@ class StateMachineUpdater implements Runnable {
StateMachineUpdater(StateMachine stateMachine, RaftServerImpl server,
ServerState serverState, long lastAppliedIndex, RaftProperties
properties) {
- this.name = serverState.getMemberId() + "-" + getClass().getSimpleName();
+ this.name = serverState.getMemberId() + "-" +
JavaUtils.getClassSimpleName(getClass());
this.infoIndexChange = s -> LOG.info("{}: {}", name, s);
this.debugIndexChange = s -> LOG.debug("{}: {}", name, s);
@@ -128,7 +128,8 @@ class StateMachineUpdater implements Runnable {
stateMachine.close();
stateMachineMetrics.unregister();
} catch(Throwable t) {
- LOG.warn(name + ": Failed to close " +
stateMachine.getClass().getSimpleName() + " " + stateMachine, t);
+ LOG.warn(name + ": Failed to close " +
JavaUtils.getClassSimpleName(stateMachine.getClass())
+ + " " + stateMachine, t);
}
}
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/WatchRequests.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/WatchRequests.java
index 97605d5..39d45cf 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/WatchRequests.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/WatchRequests.java
@@ -171,7 +171,7 @@ class WatchRequests {
private final TimeoutScheduler scheduler = TimeoutScheduler.getInstance();
WatchRequests(Object name, RaftProperties properties) {
- this.name = name + "-" + getClass().getSimpleName();
+ this.name = name + "-" + JavaUtils.getClassSimpleName(getClass());
final TimeDuration watchTimeout =
RaftServerConfigKeys.Watch.timeout(properties);
this.watchTimeoutNanos = watchTimeout.to(TimeUnit.NANOSECONDS);
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/RaftLog.java
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/RaftLog.java
index 60ee038..23977bf 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/RaftLog.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/RaftLog.java
@@ -57,7 +57,7 @@ import java.util.function.Consumer;
*/
public abstract class RaftLog implements RaftLogSequentialOps, Closeable {
public static final Logger LOG = LoggerFactory.getLogger(RaftLog.class);
- public static final String LOG_SYNC = RaftLog.class.getSimpleName() +
".logSync";
+ public static final String LOG_SYNC =
JavaUtils.getClassSimpleName(RaftLog.class) + ".logSync";
private final Consumer<Object> infoIndexChange = s -> LOG.info("{}: {}",
getName(), s);
private final Consumer<Object> traceIndexChange = s -> LOG.trace("{}: {}",
getName(), s);
@@ -88,7 +88,7 @@ public abstract class RaftLog implements
RaftLogSequentialOps, Closeable {
private volatile LogEntryProto lastMetadataEntry = null;
protected RaftLog(RaftGroupMemberId memberId, long commitIndex,
RaftProperties properties) {
- this.name = memberId + "-" + getClass().getSimpleName();
+ this.name = memberId + "-" + JavaUtils.getClassSimpleName(getClass());
this.memberId = memberId;
this.commitIndex = new RaftLogIndex("commitIndex", commitIndex);
this.snapshotIndex = new RaftLogIndex("snapshotIndex", commitIndex);
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 100bde4..f106b54 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
@@ -121,7 +121,7 @@ public class SegmentedRaftLog extends RaftLog {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + getEndIndex();
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + getEndIndex();
}
}
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
index 50c668b..d0a0930 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogCache.java
@@ -344,13 +344,9 @@ public class SegmentedRaftLogCache {
private final int maxCachedSegments;
private final CacheInvalidationPolicy evictionPolicy = new
CacheInvalidationPolicyDefault();
- SegmentedRaftLogCache(Object name, RaftStorage storage, RaftProperties
properties) {
- this(name, storage, properties, null);
- }
-
SegmentedRaftLogCache(Object name, RaftStorage storage, RaftProperties
properties,
RaftLogMetrics raftLogMetrics) {
- this.name = name + "-" + getClass().getSimpleName();
+ this.name = name + "-" + JavaUtils.getClassSimpleName(getClass());
this.closedSegments = new LogSegmentList(name);
this.storage = storage;
this.raftLogMetrics = raftLogMetrics;
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogOutputStream.java
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogOutputStream.java
index 10c40a4..6ad3a46 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogOutputStream.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogOutputStream.java
@@ -20,6 +20,7 @@ package org.apache.ratis.server.raftlog.segmented;
import org.apache.ratis.proto.RaftProtos.LogEntryProto;
import org.apache.ratis.thirdparty.com.google.protobuf.CodedOutputStream;
import org.apache.ratis.util.IOUtils;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Preconditions;
import org.apache.ratis.util.PureJavaCrc32C;
import org.apache.ratis.util.function.CheckedConsumer;
@@ -140,6 +141,6 @@ public class SegmentedRaftLogOutputStream implements
Closeable {
@Override
public String toString() {
- return this.getClass().getSimpleName() + "(" + file + ")";
+ return JavaUtils.getClassSimpleName(getClass()) + "(" + file + ")";
}
}
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 35cf209..01f98a5 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
@@ -176,7 +176,7 @@ class SegmentedRaftLogWorker implements Runnable {
SegmentedRaftLogWorker(RaftGroupMemberId memberId, StateMachine
stateMachine, Runnable submitUpdateCommitEvent,
RaftServerImpl server, RaftStorage storage,
RaftProperties properties,
RaftLogMetrics metricRegistry) {
- this.name = memberId + "-" + getClass().getSimpleName();
+ this.name = memberId + "-" + JavaUtils.getClassSimpleName(getClass());
LOG.info("new {} for {}", name, storage);
this.submitUpdateCommitEvent = submitUpdateCommitEvent;
@@ -298,8 +298,8 @@ class SegmentedRaftLogWorker implements Runnable {
if (logIOException != null) {
throw logIOException;
} else {
- Timer.Context executionTimeContext =
-
raftLogMetrics.getRaftLogTaskExecutionTimer(task.getClass().getSimpleName().toLowerCase()).time();
+ final Timer.Context executionTimeContext =
raftLogMetrics.getRaftLogTaskExecutionTimer(
+
JavaUtils.getClassSimpleName(task.getClass()).toLowerCase()).time();
task.execute();
executionTimeContext.stop();
}
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/storage/RaftStorage.java
b/ratis-server/src/main/java/org/apache/ratis/server/storage/RaftStorage.java
index f989875..9edce75 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/storage/RaftStorage.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/storage/RaftStorage.java
@@ -23,6 +23,7 @@ import org.apache.ratis.server.impl.RaftConfiguration;
import org.apache.ratis.server.impl.RaftServerConstants;
import org.apache.ratis.server.impl.ServerProtoUtils;
import org.apache.ratis.server.storage.RaftStorageDirectory.StorageState;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Preconditions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -151,6 +152,6 @@ public class RaftStorage implements Closeable {
@Override
public String toString() {
- return getClass().getSimpleName() + ":" + getStorageDir();
+ return JavaUtils.getClassSimpleName(getClass()) + ":" + getStorageDir();
}
}
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 4f0de53..c49592f 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
@@ -32,6 +32,7 @@ import org.apache.ratis.statemachine.SnapshotInfo;
import org.apache.ratis.statemachine.StateMachine;
import org.apache.ratis.statemachine.StateMachineStorage;
import org.apache.ratis.statemachine.TransactionContext;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.LifeCycle;
import org.apache.ratis.util.Preconditions;
@@ -49,7 +50,7 @@ public class BaseStateMachine implements StateMachine,
StateMachine.DataApi,
StateMachine.EventApi, StateMachine.LeaderEventApi,
StateMachine.FollowerEventApi {
private final CompletableFuture<RaftServer> server = new
CompletableFuture<>();
private volatile RaftGroupId groupId;
- private final LifeCycle lifeCycle = new
LifeCycle(getClass().getSimpleName());
+ private final LifeCycle lifeCycle = new
LifeCycle(JavaUtils.getClassSimpleName(getClass()));
private final AtomicReference<TermIndex> lastAppliedTermIndex = new
AtomicReference<>();
@@ -219,7 +220,7 @@ public class BaseStateMachine implements StateMachine,
StateMachine.DataApi,
@Override
public String toString() {
- return getClass().getSimpleName() + ":"
+ return JavaUtils.getClassSimpleName(getClass()) + ":"
+ (!server.isDone()? "uninitialized": getId() + ":" + groupId);
}
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 8a40009..1eafb7f 100644
--- a/ratis-server/src/test/java/org/apache/ratis/LogAppenderTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/LogAppenderTests.java
@@ -37,6 +37,7 @@ import org.apache.ratis.server.impl.ServerState;
import org.apache.ratis.server.raftlog.RaftLog;
import org.apache.ratis.statemachine.SimpleStateMachine4Testing;
import org.apache.ratis.statemachine.StateMachine;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.Log4jUtils;
import org.apache.ratis.util.SizeInBytes;
import org.junit.Assert;
@@ -202,7 +203,7 @@ public abstract class LogAppenderTests<CLUSTER extends
MiniRaftCluster>
try {
clients.get(i).close();
} catch (Exception ignored) {
- LOG.warn(ignored.getClass().getSimpleName() + " is ignored",
ignored);
+ LOG.warn("{} is ignored",
JavaUtils.getClassSimpleName(ignored.getClass()), ignored);
}
}
}
diff --git a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
index 07e166b..05e6428 100644
--- a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
+++ b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
@@ -83,7 +83,7 @@ import static
org.apache.ratis.server.impl.RaftServerConstants.DEFAULT_CALLID;
public abstract class MiniRaftCluster implements Closeable {
public static final Logger LOG =
LoggerFactory.getLogger(MiniRaftCluster.class);
- public static final String CLASS_NAME =
MiniRaftCluster.class.getSimpleName();
+ public static final String CLASS_NAME =
JavaUtils.getClassSimpleName(MiniRaftCluster.class);
public static final String STATEMACHINE_CLASS_KEY = CLASS_NAME +
".statemachine.class";
private static final StateMachine.Registry STATEMACHINE_REGISTRY_DEFAULT =
gid -> new BaseStateMachine();
private static final TimeDuration RETRY_INTERVAL_DEFAULT =
@@ -220,7 +220,7 @@ public abstract class MiniRaftCluster implements Closeable {
private final Supplier<File> rootTestDir = JavaUtils.memoize(
() -> new File(BaseTest.getRootTestDir(),
- getClass().getSimpleName() +
Integer.toHexString(ThreadLocalRandom.current().nextInt())));
+ JavaUtils.getClassSimpleName(getClass()) +
Integer.toHexString(ThreadLocalRandom.current().nextInt())));
public File getStorageDir(RaftPeerId id) {
return new File(rootTestDir.get(), id.toString());
@@ -250,7 +250,7 @@ public abstract class MiniRaftCluster implements Closeable {
protected MiniRaftCluster(String[] ids, RaftProperties properties,
Parameters parameters) {
this.group = initRaftGroup(Arrays.asList(ids));
- LOG.info("new {} with {}", getClass().getSimpleName(), group);
+ LOG.info("new {} with {}", JavaUtils.getClassSimpleName(getClass()),
group);
this.properties = new RaftProperties(properties);
this.parameters = parameters;
@@ -286,7 +286,7 @@ public abstract class MiniRaftCluster implements Closeable {
public void start() throws IOException {
LOG.info("..............................................................
");
LOG.info("... ");
- LOG.info("... Starting " + getClass().getSimpleName());
+ LOG.info("... Starting " + JavaUtils.getClassSimpleName(getClass()));
LOG.info("... ");
LOG.info("..............................................................
");
@@ -711,7 +711,7 @@ public abstract class MiniRaftCluster implements Closeable {
public void shutdown() {
LOG.info("**************************************************************
");
LOG.info("*** ");
- LOG.info("*** Stopping " + getClass().getSimpleName());
+ LOG.info("*** Stopping " + JavaUtils.getClassSimpleName(getClass()));
LOG.info("*** ");
LOG.info("**************************************************************
");
LOG.info(printServers());
@@ -732,7 +732,7 @@ public abstract class MiniRaftCluster implements Closeable {
Optional.ofNullable(timer.get()).ifPresent(Timer::cancel);
ExitUtils.assertNotTerminated();
- LOG.info(getClass().getSimpleName() + " shutdown completed");
+ LOG.info("{} shutdown completed",
JavaUtils.getClassSimpleName(getClass()));
}
/**
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 6d740ff..f20ea5b 100644
--- a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
@@ -328,7 +328,7 @@ public abstract class RaftBasicTests<CLUSTER extends
MiniRaftCluster>
@Override
public String toString() {
- return getClass().getSimpleName() + index
+ return JavaUtils.getClassSimpleName(getClass()) + index
+ "(step=" + step + "/" + messages.length
+ ", isRunning=" + isRunning
+ ", isAlive=" + isAlive()
diff --git
a/ratis-server/src/test/java/org/apache/ratis/server/impl/BlockRequestHandlingInjection.java
b/ratis-server/src/test/java/org/apache/ratis/server/impl/BlockRequestHandlingInjection.java
index 125641f..8566047 100644
---
a/ratis-server/src/test/java/org/apache/ratis/server/impl/BlockRequestHandlingInjection.java
+++
b/ratis-server/src/test/java/org/apache/ratis/server/impl/BlockRequestHandlingInjection.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -19,7 +19,7 @@ package org.apache.ratis.server.impl;
import org.apache.ratis.RaftTestUtil;
import org.apache.ratis.util.CodeInjectionForTesting;
-import org.apache.ratis.util.StringUtils;
+import org.apache.ratis.util.JavaUtils;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -91,7 +91,7 @@ public class BlockRequestHandlingInjection implements
CodeInjectionForTesting.Co
@Override
public String toString() {
- return getClass().getSimpleName()
+ return JavaUtils.getClassSimpleName(getClass())
+ ": requestors=" + requestors.keySet()
+ ", repliers=" + repliers.keySet();
}
diff --git
a/ratis-server/src/test/java/org/apache/ratis/server/impl/DelayLocalExecutionInjection.java
b/ratis-server/src/test/java/org/apache/ratis/server/impl/DelayLocalExecutionInjection.java
index 0d7d79e..3e64a73 100644
---
a/ratis-server/src/test/java/org/apache/ratis/server/impl/DelayLocalExecutionInjection.java
+++
b/ratis-server/src/test/java/org/apache/ratis/server/impl/DelayLocalExecutionInjection.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -19,6 +19,7 @@ package org.apache.ratis.server.impl;
import org.apache.ratis.RaftTestUtil;
import org.apache.ratis.util.CodeInjectionForTesting;
+import org.apache.ratis.util.JavaUtils;
import java.util.Arrays;
import java.util.Map;
@@ -74,6 +75,6 @@ public class DelayLocalExecutionInjection implements
CodeInjectionForTesting.Cod
@Override
public String toString() {
- return getClass().getSimpleName() + ": delays=" + delays;
+ return JavaUtils.getClassSimpleName(getClass()) + ": delays=" + delays;
}
}
diff --git
a/ratis-server/src/test/java/org/apache/ratis/server/impl/GroupManagementBaseTest.java
b/ratis-server/src/test/java/org/apache/ratis/server/impl/GroupManagementBaseTest.java
index 631c8d4..55a7051 100644
---
a/ratis-server/src/test/java/org/apache/ratis/server/impl/GroupManagementBaseTest.java
+++
b/ratis-server/src/test/java/org/apache/ratis/server/impl/GroupManagementBaseTest.java
@@ -239,7 +239,7 @@ public abstract class GroupManagementBaseTest extends
BaseTest {
if (chosen < 0) {
chosen = ThreadLocalRandom.current().nextInt(idIndex.length);
}
- final String type = cluster.getClass().getSimpleName()
+ final String type = JavaUtils.getClassSimpleName(cluster.getClass())
+ Arrays.toString(idIndex) + "chosen=" + chosen;
LOG.info("\n\nrunMultiGroupTest with " + type + ": " +
cluster.printServers());
diff --git
a/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
b/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
index e2f61a8..2238d8b 100644
---
a/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
+++
b/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
@@ -226,7 +226,7 @@ public abstract class RaftReconfigurationBaseTest<CLUSTER
extends MiniRaftCluste
latch.countDown();
} catch (Exception ignored) {
- LOG.warn(ignored.getClass().getSimpleName() + " is ignored",
ignored);
+ LOG.warn("{} is ignored",
JavaUtils.getClassSimpleName(ignored.getClass()), ignored);
}
});
clientThread.start();
@@ -685,7 +685,7 @@ public abstract class RaftReconfigurationBaseTest<CLUSTER
extends MiniRaftCluste
}
}
} catch (Exception ignored) {
- LOG.warn(ignored.getClass().getSimpleName() + " is ignored",
ignored);
+ LOG.warn("{} is ignored",
JavaUtils.getClassSimpleName(ignored.getClass()), ignored);
}
}).start();
diff --git
a/ratis-test/src/test/java/org/apache/ratis/server/TestRaftServerConfigKeys.java
b/ratis-test/src/test/java/org/apache/ratis/server/TestRaftServerConfigKeys.java
index 59def83..0b56bef 100644
---
a/ratis-test/src/test/java/org/apache/ratis/server/TestRaftServerConfigKeys.java
+++
b/ratis-test/src/test/java/org/apache/ratis/server/TestRaftServerConfigKeys.java
@@ -43,7 +43,7 @@ public class TestRaftServerConfigKeys {
private static final Supplier<File> rootTestDir = JavaUtils.memoize(
() -> new File(BaseTest.getRootTestDir(),
- TestRaftServerConfigKeys.class.getSimpleName() +
+ JavaUtils.getClassSimpleName(TestRaftServerConfigKeys.class) +
Integer.toHexString(ThreadLocalRandom.current().nextInt())));
@AfterClass
diff --git
a/ratis-test/src/test/java/org/apache/ratis/server/impl/TestServerState.java
b/ratis-test/src/test/java/org/apache/ratis/server/impl/TestServerState.java
index 5801d2b..75aef53 100644
--- a/ratis-test/src/test/java/org/apache/ratis/server/impl/TestServerState.java
+++ b/ratis-test/src/test/java/org/apache/ratis/server/impl/TestServerState.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -15,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.ratis.server.impl;
import org.apache.ratis.BaseTest;
@@ -42,7 +41,7 @@ public class TestServerState {
private static final Supplier<File> rootTestDir = JavaUtils.memoize(
() -> new File(BaseTest.getRootTestDir(),
- TestServerState.class.getSimpleName() +
+ JavaUtils.getClassSimpleName(TestServerState.class) +
Integer.toHexString(ThreadLocalRandom.current().nextInt())));
@AfterClass
diff --git
a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestCacheEviction.java
b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestCacheEviction.java
index eb128f1..ae6ddd0 100644
---
a/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestCacheEviction.java
+++
b/ratis-test/src/test/java/org/apache/ratis/server/raftlog/segmented/TestCacheEviction.java
@@ -37,6 +37,7 @@ import
org.apache.ratis.server.raftlog.segmented.TestSegmentedRaftLog.SegmentRan
import org.apache.ratis.server.storage.RaftStorage;
import org.apache.ratis.statemachine.SimpleStateMachine4Testing;
import org.apache.ratis.statemachine.StateMachine;
+import org.apache.ratis.util.JavaUtils;
import org.apache.ratis.util.SizeInBytes;
import org.junit.Assert;
import org.junit.Test;
@@ -53,7 +54,7 @@ public class TestCacheEviction extends BaseTest {
static LogSegmentList prepareSegments(int numSegments, boolean[] cached,
long start, long size) {
Assert.assertEquals(numSegments, cached.length);
- final LogSegmentList segments = new
LogSegmentList(TestCacheEviction.class.getSimpleName());
+ final LogSegmentList segments = new
LogSegmentList(JavaUtils.getClassSimpleName(TestCacheEviction.class));
for (int i = 0; i < numSegments; i++) {
LogSegment s = LogSegment.newCloseSegment(null, start, start + size - 1,
null);
if (cached[i]) {