Sergey Soldatov created HDDS-14054:
--------------------------------------

             Summary: Assert error in readBlockImpl
                 Key: HDDS-14054
                 URL: https://issues.apache.org/jira/browse/HDDS-14054
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: Ozone Datanode
    Affects Versions: 2.1.0
            Reporter: Sergey Soldatov
            Assignee: Sergey Soldatov


When readBlock functionality is used the following errors appear in the DN logs:

 
{code:java}
25/12/02 02:48:48 WARN 
[f3fcbf75-272c-401e-afba-46e18427881c-ChunkReader-8]-keyvalue.KeyValueHandler: 
Operation: ReadBlock , Trace ID:  , Message: Failed to readBlock blockID {
  containerID: 1
  localID: 115816896921600001
  blockCommitSequenceId: 2
}
offset: 0
length: 44040192
responseDataSize: 1048576
 , Result: CONTAINER_INTERNAL_ERROR , StorageContainerException Occurred.
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException: 
Failed to readBlock blockID {
  containerID: 1
  localID: 115816896921600001
  blockCommitSequenceId: 2
}
offset: 0
length: 44040192
responseDataSize: 1048576
        at 
org.apache.hadoop.ozone.container.keyvalue.KeyValueHandler.readBlock(KeyValueHandler.java:2088)
        at 
org.apache.hadoop.ozone.container.common.impl.HddsDispatcher.streamDataReadOnly(HddsDispatcher.java:862)
        at 
org.apache.hadoop.ozone.container.common.transport.server.GrpcXceiverService$1.onNext(GrpcXceiverService.java:120)
        at 
org.apache.hadoop.ozone.container.common.transport.server.GrpcXceiverService$1.onNext(GrpcXceiverService.java:99)
        at 
org.apache.ratis.thirdparty.io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262)
        at 
org.apache.ratis.thirdparty.io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33)
        at 
org.apache.hadoop.hdds.tracing.GrpcServerInterceptor$1.onMessage(GrpcServerInterceptor.java:49)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalStateException: readLength = 0 <= 0
        at org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:77)
        at 
org.apache.hadoop.ozone.container.keyvalue.KeyValueHandler.readBlockImpl(KeyValueHandler.java:2140)
        at 
org.apache.hadoop.ozone.container.keyvalue.KeyValueHandler.readBlock(KeyValueHandler.java:2078)
        ... 14 more
{code}
The reason is that we are flipping the buffer even if we read nothing.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to