[ 
https://issues.apache.org/jira/browse/RATIS-2521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz-wo Sze updated RATIS-2521:
------------------------------
    Component/s: common
                     (was: server)
        Summary: LifeCycle.startAndTransition(..) may cause illegal transition: 
CLOSING -> EXCEPTION  (was: Intermittent ILLEGAL TRANSITION in RaftAsyncTests)

> LifeCycle.startAndTransition(..) may cause illegal transition: CLOSING -> 
> EXCEPTION
> -----------------------------------------------------------------------------------
>
>                 Key: RATIS-2521
>                 URL: https://issues.apache.org/jira/browse/RATIS-2521
>             Project: Ratis
>          Issue Type: Bug
>          Components: common
>            Reporter: Attila Doroszlai
>            Assignee: Tsz-wo Sze
>            Priority: Major
>
> {code}
> Tests run: 14, Failures: 10, Errors: 0, Skipped: 0, Time elapsed: 14.29 s <<< 
> FAILURE! -- in org.apache.ratis.grpc.TestRaftAsyncWithGrpc
> org.apache.ratis.grpc.TestRaftAsyncWithGrpc.testBasicAppendEntriesAsyncKillLeader
>  -- Time elapsed: 6.111 s <<< FAILURE!
> java.lang.AssertionError: Unexpected exit.
>       at 
> org.apache.ratis.util.ExitUtils.assertNotTerminated(ExitUtils.java:109)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster.shutdown(MiniRaftCluster.java:823)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster$Factory$Get.runWithNewCluster(MiniRaftCluster.java:152)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster$Factory$Get.runWithNewCluster(MiniRaftCluster.java:124)
>       at 
> org.apache.ratis.RaftAsyncTests.runTestBasicAppendEntriesAsync(RaftAsyncTests.java:267)
>       at 
> org.apache.ratis.RaftAsyncTests.testBasicAppendEntriesAsyncKillLeader(RaftAsyncTests.java:278)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>       Suppressed: java.lang.AssertionError: Unexpected exit.
>               at 
> org.apache.ratis.util.ExitUtils.assertNotTerminated(ExitUtils.java:109)
>               at org.apache.ratis.BaseTest.assertNoFailures(BaseTest.java:99)
>               ... 3 more
>       Caused by: org.apache.ratis.util.ExitUtils$ExitException: Failed to 
> kill/restart server: s3
>               at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:141)
>               at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:151)
>               at 
> org.apache.ratis.RaftBasicTests.lambda$killAndRestartServer$2(RaftBasicTests.java:111)
>               at java.base/java.lang.Thread.run(Thread.java:840)
>       Caused by: java.lang.IllegalStateException: ILLEGAL TRANSITION: In 
> s3-RaftServerProxy, CLOSING -> EXCEPTION
>               at 
> org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:65)
>               at 
> org.apache.ratis.util.LifeCycle$State.validate(LifeCycle.java:124)
>               at 
> org.apache.ratis.util.LifeCycle.lambda$transition$0(LifeCycle.java:167)
>               at 
> java.base/java.util.concurrent.atomic.AtomicReference.updateAndGet(AtomicReference.java:210)
>               at 
> org.apache.ratis.util.LifeCycle.transition(LifeCycle.java:166)
>               at 
> org.apache.ratis.util.LifeCycle.startAndTransition(LifeCycle.java:283)
>               at 
> org.apache.ratis.server.impl.RaftServerProxy.start(RaftServerProxy.java:409)
>               at 
> org.apache.ratis.server.impl.MiniRaftCluster.restartServer(MiniRaftCluster.java:361)
>               at 
> org.apache.ratis.server.impl.MiniRaftCluster.restartServer(MiniRaftCluster.java:352)
>               at 
> org.apache.ratis.RaftBasicTests.lambda$killAndRestartServer$2(RaftBasicTests.java:108)
>               ... 1 more
> Caused by: [CIRCULAR REFERENCE: 
> org.apache.ratis.util.ExitUtils$ExitException: Failed to kill/restart server: 
> s3]
> {code}
> {code}
> Tests run: 14, Failures: 10, Errors: 0, Skipped: 0, Time elapsed: 16.50 s <<< 
> FAILURE! -- in org.apache.ratis.netty.TestRaftAsyncWithNetty
> org.apache.ratis.netty.TestRaftAsyncWithNetty.testBasicAppendEntriesAsyncKillLeader
>  -- Time elapsed: 5.247 s <<< FAILURE!
> java.lang.AssertionError: Unexpected exit.
>       at 
> org.apache.ratis.util.ExitUtils.assertNotTerminated(ExitUtils.java:109)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster.shutdown(MiniRaftCluster.java:819)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster$Factory$Get.runWithNewCluster(MiniRaftCluster.java:149)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster$Factory$Get.runWithNewCluster(MiniRaftCluster.java:121)
>       at 
> org.apache.ratis.RaftAsyncTests.runTestBasicAppendEntriesAsync(RaftAsyncTests.java:267)
>       at 
> org.apache.ratis.RaftAsyncTests.testBasicAppendEntriesAsyncKillLeader(RaftAsyncTests.java:278)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>       Suppressed: java.lang.AssertionError: Unexpected exit.
>               at 
> org.apache.ratis.util.ExitUtils.assertNotTerminated(ExitUtils.java:109)
>               at org.apache.ratis.BaseTest.assertNoFailures(BaseTest.java:99)
>               ... 3 more
>       Caused by: org.apache.ratis.util.ExitUtils$ExitException: Failed to 
> kill/restart server: s3
>               at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:141)
>               at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:151)
>               at 
> org.apache.ratis.RaftBasicTests.lambda$killAndRestartServer$2(RaftBasicTests.java:111)
>               at java.base/java.lang.Thread.run(Thread.java:840)
>       Caused by: java.lang.IllegalStateException: ILLEGAL TRANSITION: In 
> s3-RaftServerProxy, CLOSED -> EXCEPTION
>               at 
> org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:65)
>               at 
> org.apache.ratis.util.LifeCycle$State.validate(LifeCycle.java:124)
>               at 
> org.apache.ratis.util.LifeCycle.lambda$transition$0(LifeCycle.java:167)
>               at 
> java.base/java.util.concurrent.atomic.AtomicReference.updateAndGet(AtomicReference.java:210)
>               at 
> org.apache.ratis.util.LifeCycle.transition(LifeCycle.java:166)
>               at 
> org.apache.ratis.util.LifeCycle.startAndTransition(LifeCycle.java:283)
>               at 
> org.apache.ratis.server.impl.RaftServerProxy.start(RaftServerProxy.java:409)
>               at 
> org.apache.ratis.server.impl.MiniRaftCluster.restartServer(MiniRaftCluster.java:358)
>               at 
> org.apache.ratis.server.impl.MiniRaftCluster.restartServer(MiniRaftCluster.java:349)
>               at 
> org.apache.ratis.RaftBasicTests.lambda$killAndRestartServer$2(RaftBasicTests.java:108)
>               ... 1 more
> Caused by: [CIRCULAR REFERENCE: 
> org.apache.ratis.util.ExitUtils$ExitException: Failed to kill/restart server: 
> s3]
> {code}
> - 
> https://github.com/adoroszlai/ratis-build-results/blob/master/2026/04/03/692/unit-misc/ratis-test/org.apache.ratis.netty.TestRaftAsyncWithNetty.txt
> - 
> https://github.com/adoroszlai/ratis-build-results/blob/master/2026/04/15/716/unit-grpc/ratis-test/org.apache.ratis.grpc.TestRaftAsyncWithGrpc.txt
> - 
> https://github.com/adoroszlai/ratis-build-results/blob/master/2026/05/05/754/unit-grpc/ratis-test/org.apache.ratis.grpc.TestRaftAsyncWithGrpc.txt



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to