This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 1bd451046 RATIS-2038. IllegalStateException when ServerState is closed
before start. (#1048)
1bd451046 is described below
commit 1bd451046b2d33fe063712d7e811262bef580a4e
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Fri Mar 1 10:52:17 2024 -0800
RATIS-2038. IllegalStateException when ServerState is closed before start.
(#1048)
---
.../src/main/java/org/apache/ratis/server/impl/ServerState.java | 2 +-
.../src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
index 27eaf317e..af241a633 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
@@ -158,6 +158,7 @@ class ServerState {
}
void start() {
+ // initialize stateMachineUpdater
stateMachineUpdater.get().start();
}
@@ -421,7 +422,6 @@ class ServerState {
}
LOG.warn(getMemberId() + ": Failed to join " + getStateMachineUpdater(),
e);
}
- LOG.info("{}: applyIndex: {}", getMemberId(), getLastAppliedIndex());
try {
if (log.isInitialized()) {
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 43fbdd884..5f6e972e2 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
@@ -133,6 +133,8 @@ class StateMachineUpdater implements Runnable {
private void stop() {
state = State.STOP;
try {
+ LOG.info("{}: closing {}, lastApplied={}", name,
+ JavaUtils.getClassSimpleName(stateMachine.getClass()),
stateMachine.getLastAppliedTermIndex());
stateMachine.close();
if (stateMachineMetrics.isInitialized()) {
stateMachineMetrics.get().unregister();