Attila Doroszlai created HDDS-14793:
---------------------------------------

             Summary: Intermittent NPE in XceiverClientGrpc
                 Key: HDDS-14793
                 URL: https://issues.apache.org/jira/browse/HDDS-14793
             Project: Apache Ozone
          Issue Type: Bug
          Components: Ozone Client
            Reporter: Attila Doroszlai


{code}
Freon.Metadata-Generate :: Test freon ommg command                            
==============================================================================
[Setup] Create Volume and Buckets                                     | PASS |
------------------------------------------------------------------------------
[Read] Bucket Information                                             | PASS |
------------------------------------------------------------------------------
[Create] File in FILE_SYSTEM_OPTIMIZED Bucket                         | PASS |
------------------------------------------------------------------------------
[Read] File in FILE_SYSTEM_OPTIMIZED Bucket                           | FAIL |
255 != 0
{code}

{code}
Running command 'ozone freon ommg --operation READ_FILE -n 100 --volume volume1 
--bucket bucket-fso --size 4096'
${rc} = 255
{code}

{code}
2026-03-09 04:58:43,337 [main] INFO freon.BaseFreonGenerator: Executing test 
with prefix '' and number-of-tests 100
2026-03-09 04:58:43,391 [Thread-5] INFO freon.ProgressBar: Progress: 0.00 % (0 
out of 100)
2026-03-09 04:58:44,393 [Thread-5] INFO freon.ProgressBar: Progress: 0.00 % (0 
out of 100)
2026-03-09 04:58:45,064 [pool-2-thread-6] WARN impl.MetricsSystemImpl: 
ozone-freon metrics system already initialized!
2026-03-09 04:58:45,394 [Thread-5] INFO freon.ProgressBar: Progress: 0.00 % (0 
out of 100)
2026-03-09 04:58:45,458 [pool-2-thread-4] ERROR freon.BaseFreonGenerator: Error 
on executing task 3
java.lang.NullPointerException: Cannot invoke 
"org.apache.hadoop.hdds.protocol.datanode.proto.XceiverClientProtocolServiceGrpc$XceiverClientProtocolServiceStub.withDeadlineAfter(long,
 java.util.concurrent.TimeUnit)" because the return value of 
"java.util.Map.get(Object)" is null
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandAsync(XceiverClientGrpc.java:701)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithRetry(XceiverClientGrpc.java:513)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.lambda$sendCommandWithTraceIDAndRetry$5(XceiverClientGrpc.java:428)
        at 
org.apache.hadoop.hdds.tracing.TracingUtil.executeInSpan(TracingUtil.java:205)
        at 
org.apache.hadoop.hdds.tracing.TracingUtil.executeInNewSpan(TracingUtil.java:195)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithTraceIDAndRetry(XceiverClientGrpc.java:420)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommand(XceiverClientGrpc.java:401)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.getBlock(ContainerProtocolCalls.java:235)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.lambda$getBlock$0(ContainerProtocolCalls.java:201)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.tryEachDatanode(ContainerProtocolCalls.java:155)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.getBlock(ContainerProtocolCalls.java:200)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.getBlockDataUsingClient(BlockInputStream.java:239)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.getBlockData(BlockInputStream.java:222)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.initialize(BlockInputStream.java:154)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.readWithStrategy(BlockInputStream.java:300)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:73)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:61)
        at 
org.apache.hadoop.hdds.scm.storage.ByteArrayReader.readFromBlock(ByteArrayReader.java:51)
        at 
org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:107)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:73)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:61)
        at 
org.apache.hadoop.ozone.client.io.OzoneInputStream.read(OzoneInputStream.java:56)
        at java.base/java.io.InputStream.read(InputStream.java:220)
        at 
org.apache.hadoop.ozone.freon.OmMetadataGenerator.performReadOperation(OmMetadataGenerator.java:437)
        at 
org.apache.hadoop.ozone.freon.OmMetadataGenerator.lambda$applyOperation$12(OmMetadataGenerator.java:340)
        at com.codahale.metrics.Timer.time(Timer.java:101)
        at 
org.apache.hadoop.ozone.freon.OmMetadataGenerator.applyOperation(OmMetadataGenerator.java:340)
        at 
org.apache.hadoop.ozone.freon.BaseFreonGenerator.tryNextTask(BaseFreonGenerator.java:213)
        at 
org.apache.hadoop.ozone.freon.BaseFreonGenerator.taskLoop(BaseFreonGenerator.java:194)
        at 
org.apache.hadoop.ozone.freon.BaseFreonGenerator.lambda$startTaskRunners$0(BaseFreonGenerator.java:168)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
2026-03-09 04:58:45,459 [pool-2-thread-2] ERROR freon.BaseFreonGenerator: Error 
on executing task 1
java.lang.NullPointerException: Cannot invoke 
"org.apache.hadoop.hdds.protocol.datanode.proto.XceiverClientProtocolServiceGrpc$XceiverClientProtocolServiceStub.withDeadlineAfter(long,
 java.util.concurrent.TimeUnit)" because the return value of 
"java.util.Map.get(Object)" is null
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandAsync(XceiverClientGrpc.java:701)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithRetry(XceiverClientGrpc.java:513)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.lambda$sendCommandWithTraceIDAndRetry$5(XceiverClientGrpc.java:428)
        at 
org.apache.hadoop.hdds.tracing.TracingUtil.executeInSpan(TracingUtil.java:205)
        at 
org.apache.hadoop.hdds.tracing.TracingUtil.executeInNewSpan(TracingUtil.java:195)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithTraceIDAndRetry(XceiverClientGrpc.java:420)
        at 
org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommand(XceiverClientGrpc.java:401)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.getBlock(ContainerProtocolCalls.java:235)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.lambda$getBlock$0(ContainerProtocolCalls.java:201)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.tryEachDatanode(ContainerProtocolCalls.java:155)
        at 
org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.getBlock(ContainerProtocolCalls.java:200)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.getBlockDataUsingClient(BlockInputStream.java:239)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.getBlockData(BlockInputStream.java:222)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.initialize(BlockInputStream.java:154)
        at 
org.apache.hadoop.hdds.scm.storage.BlockInputStream.readWithStrategy(BlockInputStream.java:300)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:73)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:61)
        at 
org.apache.hadoop.hdds.scm.storage.ByteArrayReader.readFromBlock(ByteArrayReader.java:51)
        at 
org.apache.hadoop.hdds.scm.storage.MultipartInputStream.readWithStrategy(MultipartInputStream.java:107)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:73)
        at 
org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:61)
        at 
org.apache.hadoop.ozone.client.io.OzoneInputStream.read(OzoneInputStream.java:56)
        at java.base/java.io.InputStream.read(InputStream.java:220)
        at 
org.apache.hadoop.ozone.freon.OmMetadataGenerator.performReadOperation(OmMetadataGenerator.java:437)
        at 
org.apache.hadoop.ozone.freon.OmMetadataGenerator.lambda$applyOperation$12(OmMetadataGenerator.java:340)
        at com.codahale.metrics.Timer.time(Timer.java:101)
        at 
org.apache.hadoop.ozone.freon.OmMetadataGenerator.applyOperation(OmMetadataGenerator.java:340)
        at 
org.apache.hadoop.ozone.freon.BaseFreonGenerator.tryNextTask(BaseFreonGenerator.java:213)
        at 
org.apache.hadoop.ozone.freon.BaseFreonGenerator.taskLoop(BaseFreonGenerator.java:194)
        at 
org.apache.hadoop.ozone.freon.BaseFreonGenerator.lambda$startTaskRunners$0(BaseFreonGenerator.java:168)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
2026-03-09 04:58:46,395 [Thread-5] INFO freon.ProgressBar: Progress: 10.00 % 
(10 out of 100)
One or more freon test is failed.
2026-03-09 04:58:46,613 [shutdown-hook-0] INFO metrics: type=TIMER, 
name=READ_FILE, count=10, min=565.872325, max=897.601353, 
mean=830.9511569000001, stddev=132.449695984493, median=896.9616, 
p75=897.301304, p95=897.601353, p98=897.601353, p99=897.601353, 
p999=897.601353, mean_rate=5.8031642117303175, m1=0.0, m5=0.0, m15=0.0, 
rate_unit=events/second, duration_unit=milliseconds
2026-03-09 04:58:46,616 [shutdown-hook-0] INFO freon.BaseFreonGenerator: Total 
execution time (sec): 3
2026-03-09 04:58:46,616 [shutdown-hook-0] INFO freon.BaseFreonGenerator: 
Failures: 2
2026-03-09 04:58:46,617 [shutdown-hook-0] INFO freon.BaseFreonGenerator: 
Successful executions: 8
2026-03-09 04:58:46,617 [shutdown-hook-0] INFO freon.BaseFreonGenerator: 
Expected 100 --number-of-tests objects!, successfully executed 8
{code}



--
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