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();

Reply via email to