You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Siyao Meng (Jira)" <ji...@apache.org> on 2026/10/22 11:33:00 UTC
[jira] [Created] (HDDS-17322) Datanode heartbeat to an unreachable SCM or Recon can block about 15 minutes on connect timeout retries
Siyao Meng created HDDS-17322:
---------------------------------
Summary: Datanode heartbeat to an unreachable SCM or Recon can block about 15 minutes on connect timeout retries
Key: HDDS-17322
URL: https://issues.apache.org/jira/browse/HDDS-17322
Project: Apache Ozone
Issue Type: Bug
Components: Ozone Datanode
Reporter: Siyao Meng
Assignee: Siyao Meng
{{SCMConnectionManager}} creates the Datanode's RPC proxies to SCM and Recon with {{retryUpToMaximumCountWithFixedSleep(15, 1s)}}. That policy only covers connection failures such as "connection refused". A connect timeout (the host drops packets: a stopped VM, a firewall DROP rule, a stale Kubernetes pod IP) is handled separately by the forked {{ipc_.Client}}, which retries it {{ipc.client.connect.max.retries.on.timeouts}} (45) times with {{ipc.client.connect.timeout}} (20s) each. By calculation that is about 15 minutes per call. Neither key is overridden for these proxies.
{{RunningDatanodeState}} waits for an endpoint task for at most one heartbeat interval but does not cancel it, and each endpoint runs its tasks on a single thread with an unbounded queue (see HDDS-17269). So while an SCM is unreachable this way, one heartbeat task is queued per interval and each one blocks for about 15 minutes. Each missed heartbeat takes about 15 minutes instead of one interval, so re-resolving the SCM address after {{hdds.heartbeat.address.refresh.missed.count.threshold}} missed heartbeats (when enabled) is delayed by the same factor.
Proposed fix: create these proxies with {{ipc.client.connect.max.retries.on.timeouts}} set to 0 unless it is set explicitly, as HDDS-17310 does for the OM and SCM client failover proxies, and let the Datanode's own retry policy and heartbeat cycle handle the retries.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org