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

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

We use try-finally for other cases (e.g. CodeBuffer in Ozone) but we have seen 
problems like this.

There are two things I suspect:
# there may be another exception is thrown inside the finally-block although 
this seems impossible.
# there may be buffer corruption and make the code execution unpredictable.

> 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