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]