You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Siyao Meng (Jira)" <ji...@apache.org> on 2026/10/19 01:40:00 UTC

[jira] [Created] (YARN-12035) Federation registers IPv6 sub-cluster addresses without brackets

Siyao Meng created YARN-12035:
---------------------------------

             Summary: Federation registers IPv6 sub-cluster addresses without brackets
                 Key: YARN-12035
                 URL: https://issues.apache.org/jira/browse/YARN-12035
             Project: Hadoop YARN
          Issue Type: Bug
          Components: federation
            Reporter: Siyao Meng
            Assignee: Siyao Meng


[FederationStateStoreService.java:231|https://github.com/apache/hadoop/blob/1097744bc490b65cad5ab2fbeafff35687971357/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java#L231]:
{code:java}
return socketAddress.getAddress().getHostAddress() + ":"
    + socketAddress.getPort();
{code}

{{getHostAddress()}} is always numeric, so an IPv6 ResourceManager registers {{2001:db8:0:0:0:0:0:10:8032}} for its AMRM, client and admin addresses, and its web address the same way. This happens with or without DNS.

[FederationRMFailoverProxyProvider.java:168|https://github.com/apache/hadoop/blob/1097744bc490b65cad5ab2fbeafff35687971357/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationRMFailoverProxyProvider.java#L168] copies the value into {{yarn.resourcemanager.address}}, and {{conf.getSocketAddr}} rejects it with "Does not contain a valid host:port authority". The YARN Router therefore cannot open RPC to the sub-cluster. The Router web pages and {{FederationInterceptorREST}} prepend {{http://}} to the same unbracketed web address.

Verified by running copies of {{getServiceAddress}} and trunk {{createSocketAddr}} on JDK 21, and tracing the proxy provider code. Not run on a federated cluster.

*Proposed fix:* build the addresses with {{NetUtils.getHostPortString(addr.getHostAddress(), port)}}. The Router then needs no change.

POC: none. The POC's https://github.com/smengcl/hadoop/commit/d4009c263cd14a6f3ebe6a259996c901eeac4f6e changes only the Router web pages, and depends on POC-only {{NetUtils}} behaviour.



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

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