[ 
https://issues.apache.org/jira/browse/RATIS-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17852622#comment-17852622
 ] 

Tsz-wo Sze commented on RATIS-2104:
-----------------------------------

bq. The guarantee that "finally" blocks always run (unless JVM exit) ...

The Java try-finally is very unlikely to has a bug.  It will be a big news if 
it is.

bq.  ... the fact that the grpc executor threads are daemon. 

Daemon seems not a problem:
# When closing a server, we will wait for the log appender daemons.  
# The main thread is still running in the tests, so it won't exit the jvm.

bq. Another problem is onComplete may not be called when server shutdowns ...

This may be a problem.

> TestLeaderInstallSnapshot may fail with java.lang.IllegalStateException: 
> allLeaks.size = 4
> ------------------------------------------------------------------------------------------
>
>                 Key: RATIS-2104
>                 URL: https://issues.apache.org/jira/browse/RATIS-2104
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Tsz-wo Sze
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> I can reproduce it with ratis-3.1.0-rc0
> {code}
> [INFO] Running org.apache.ratis.grpc.TestLeaderInstallSnapshot
>       [ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 
> 65.892 s <<< FAILURE! - in org.apache.ratis.grpc.TestLeaderInstallSnapshot
> [ERROR] 
> org.apache.ratis.grpc.TestLeaderInstallSnapshot.testInstallSnapshotLeaderSwitch(Boolean)[1]
>   Time elapsed: 20.055 s  <<< ERROR!
> java.lang.IllegalStateException: allLeaks.size = 4
>       at org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:77)
>       at 
> org.apache.ratis.util.LeakDetector.assertNoLeaks(LeakDetector.java:107)
>       at 
> org.apache.ratis.server.impl.MiniRaftCluster.shutdown(MiniRaftCluster.java:869)
>       at 
> org.apache.ratis.grpc.MiniRaftClusterWithGrpc.shutdown(MiniRaftClusterWithGrpc.java:93)
>       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.InstallSnapshotFromLeaderTests.testInstallSnapshotLeaderSwitch(InstallSnapshotFromLeaderTests.java:94)
>       at 
> org.apache.ratis.grpc.TestLeaderInstallSnapshot.testInstallSnapshotLeaderSwitch(TestLeaderInstallSnapshot.java:53)
> {code}



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

Reply via email to