Sadanand Shenoy created HDDS-17724:
--------------------------------------

             Summary: Limit command-status report size in datanode heartbeats
                 Key: HDDS-17724
                 URL: https://issues.apache.org/jira/browse/HDDS-17724
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Sadanand Shenoy
            Assignee: Sadanand Shenoy


HDDS-16723 introduced a count-based limit for reports included in each datanode 
heartbeat. However, it does not account for serialized report size. A small 
number of {{CommandStatusReportsProto}} messages containing accumulated 
delete-block ACKs can still produce a heartbeat exceeding 
{{{}ipc.maximum.data.length{}}}.

Add a configurable command-status byte limit, defaulting to 64 MB. The 
effective budget is also restricted by the remaining space within 90% of the 
IPC maximum message size.

Oversized aggregate reports are split only between complete {{CommandStatus}} 
entries, preserving each delete ACK atomically. Deferred reports remain queued 
for later scheduled heartbeats. The immediate follow-up heartbeat is removed to 
avoid burst RPCs during backlog recovery.

Add per-endpoint metrics for queued, sent, deferred, requeued, and oversized 
command-status bytes.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to