Janus Chow created RATIS-2427:
---------------------------------
Summary: Do not restart LogAppender on IllegalStateException
Key: RATIS-2427
URL: https://issues.apache.org/jira/browse/RATIS-2427
Project: Ratis
Issue Type: Bug
Reporter: Janus Chow
Assignee: Janus Chow
We met the following exception.
{code:java}
2026-03-08 13:51:10,388
[91193815-8c02-4e50-8cdc-792d6a5c1cdd@group-55811D60EE83->8e3e9d6b-d6d2-4ee4-b6ac-b310cf7117f1-GrpcLogAppender-LogAppenderDaemon]
WARN org.apache.ratis.server.leader.LogAppenderDaemon:
91193815-8c02-4e50-8cdc-792d6a5c1cdd@group-55811D60EE83->8e3e9d6b-d6d2-4ee4-b6ac-b310cf7117f1-GrpcLogAppender-LogAppenderDaemon
failed
java.lang.IllegalStateException:
91193815-8c02-4e50-8cdc-792d6a5c1cdd@group-55811D60EE83-SegmentedRaftLog is
expected to be opened but it is CLOSED
at
org.apache.ratis.util.OpenCloseState.assertOpen(OpenCloseState.java:63)
at
org.apache.ratis.server.raftlog.RaftLogBase.checkLogState(RaftLogBase.java:112)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.getLastEntryTermIndex(SegmentedRaftLog.java:356)
at org.apache.ratis.server.raftlog.RaftLog.getNextIndex(RaftLog.java:83)
at
org.apache.ratis.grpc.server.GrpcLogAppender.shouldNotifyToInstallSnapshot(GrpcLogAppender.java:826)
at
org.apache.ratis.grpc.server.GrpcLogAppender.installSnapshot(GrpcLogAppender.java:247)
at
org.apache.ratis.grpc.server.GrpcLogAppender.run(GrpcLogAppender.java:261)
at
org.apache.ratis.server.leader.LogAppenderDaemon.run(LogAppenderDaemon.java:80)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.ratis.util.OpenCloseState$CloseTrace: Close
91193815-8c02-4e50-8cdc-792d6a5c1cdd@group-55811D60EE83-SegmentedRaftLog
at
org.apache.ratis.util.OpenCloseState.lambda$close$1(OpenCloseState.java:109)
at
java.util.concurrent.atomic.AtomicReference.getAndUpdate(AtomicReference.java:160)
at org.apache.ratis.util.OpenCloseState.close(OpenCloseState.java:109)
at
org.apache.ratis.server.raftlog.RaftLogBase.close(RaftLogBase.java:386)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.close(SegmentedRaftLog.java:528)
at
org.apache.ratis.server.raftlog.RaftLogBase.lambda$appendImpl$3(RaftLogBase.java:203)
at
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
at
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
at
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog$Task.failed(SegmentedRaftLog.java:109)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogWorker$WriteLog.failed(SegmentedRaftLogWorker.java:527)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogWorker.run(SegmentedRaftLogWorker.java:324)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 more {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)