Tsz-wo Sze created RATIS-2510:
---------------------------------
Summary: NettyClientStreamRpc may retain a completely released
object.
Key: RATIS-2510
URL: https://issues.apache.org/jira/browse/RATIS-2510
Project: Ratis
Issue Type: Bug
Components: Streaming
Reporter: Tsz-wo Sze
Assignee: Tsz-wo Sze
{code}
Error: org.apache.hadoop.ozone.client.rpc.read.TestStreamRead.testReadKey16k
-- Time elapsed: 28.89 s <<< ERROR!
java.io.IOException: java.lang.IllegalStateException: Failed to retain: object
has already been completely released.
at
org.apache.hadoop.ozone.client.io.KeyDataStreamOutput.handleWrite(KeyDataStreamOutput.java:222)
at
org.apache.hadoop.ozone.client.io.KeyDataStreamOutput.write(KeyDataStreamOutput.java:192)
at
org.apache.hadoop.ozone.client.io.OzoneDataStreamOutput.write(OzoneDataStreamOutput.java:88)
at
org.apache.hadoop.ozone.client.io.ByteBufferOutputStream.write(ByteBufferOutputStream.java:42)
at
org.apache.hadoop.ozone.client.rpc.read.TestStreamRead.createKey(TestStreamRead.java:261)
at
org.apache.hadoop.ozone.client.rpc.read.TestStreamRead.runTestReadKey(TestStreamRead.java:169)
at
org.apache.hadoop.ozone.client.rpc.read.TestStreamRead.testReadKey16k(TestStreamRead.java:120)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Caused by: java.lang.IllegalStateException: Failed to retain: object has
already been completely released.
at
org.apache.ratis.util.ReferenceCountedObject$2.retain(ReferenceCountedObject.java:138)
at
org.apache.ratis.netty.client.NettyClientStreamRpc$WorkerGroupGetter.newInstance(NettyClientStreamRpc.java:97)
at
org.apache.ratis.netty.client.NettyClientStreamRpc.<init>(NettyClientStreamRpc.java:316)
at
org.apache.ratis.netty.NettyDataStreamFactory.newDataStreamClientRpc(NettyDataStreamFactory.java:48)
at
org.apache.ratis.client.DataStreamClient$Builder.build(DataStreamClient.java:73)
at
org.apache.ratis.client.impl.RaftClientImpl.lambda$new$5(RaftClientImpl.java:219)
at org.apache.ratis.util.MemoizedSupplier.get(MemoizedSupplier.java:63)
at
org.apache.ratis.client.impl.RaftClientImpl.getDataStreamApi(RaftClientImpl.java:343)
at
org.apache.hadoop.hdds.scm.XceiverClientRatis.getDataStreamApi(XceiverClientRatis.java:424)
at
org.apache.hadoop.hdds.scm.storage.BlockDataStreamOutput.setupStream(BlockDataStreamOutput.java:228)
at
org.apache.hadoop.hdds.scm.storage.BlockDataStreamOutput.<init>(BlockDataStreamOutput.java:173)
at
org.apache.hadoop.ozone.client.io.BlockDataStreamOutputEntry.checkStream(BlockDataStreamOutputEntry.java:98)
at
org.apache.hadoop.ozone.client.io.BlockDataStreamOutputEntry.write(BlockDataStreamOutputEntry.java:106)
at
org.apache.hadoop.ozone.client.io.KeyDataStreamOutput.writeToDataStreamOutput(KeyDataStreamOutput.java:234)
at
org.apache.hadoop.ozone.client.io.KeyDataStreamOutput.handleWrite(KeyDataStreamOutput.java:212)
... 12 more
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)