You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Sergey Soldatov (Jira)" <ji...@apache.org> on 2026/09/22 17:11:00 UTC

[jira] [Updated] (HDDS-16559) Datanode ReadBlock fails with RESOURCE_EXHAUSTED when the client response size exceeds the gRPC message limit

     [ https://issues.apache.org/jira/browse/HDDS-16559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Soldatov updated HDDS-16559:
-----------------------------------
        Parent: HDDS-10338
    Issue Type: Sub-task  (was: Bug)

> Datanode ReadBlock fails with RESOURCE_EXHAUSTED when the client response size exceeds the gRPC message limit
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-16559
>                 URL: https://issues.apache.org/jira/browse/HDDS-16559
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: Ozone Datanode
>    Affects Versions: 2.2.1
>            Reporter: Sergey Soldatov
>            Assignee: Sergey Soldatov
>            Priority: Major
>
>  The streaming ReadBlock request carries a client-chosen responseDataSize, taken from ozone.client.stream.read.response-data-size. The datanode (KeyValueHandler.readBlockImpl) allocates the read buffer with that size and fills it from disk before sending the first response.                                            
>                
>   OzoneClientConfig only rejects a zero or negative value. Any value above the client's gRPC inbound message limit, OZONE_SCM_CHUNK_MAX_SIZE (32 MiB), makes the datanode allocate that much heap per stream and send a response the client cannot accept. The read then fails with:                  
>                                        
>     RESOURCE_EXHAUSTED: gRPC message exceeds maximum size 33554432: 41958428
> Reproduce: set ozone.client.stream.read.response-data-size to 64 MiB, enable streaming reads, and read a 40 MiB key. Without the cap the datanode sends the whole block in one message and the client fails the read. 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org