This is an automated email from the ASF dual-hosted git repository.
hexiaoqiao pushed a commit to branch branch-3.4
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.4 by this push:
new 1b06ac1856d HDFS-17834. Fix invalid HTTP links for DataNodes in IPv6
environment (#8081). Contributed by sunhui.
1b06ac1856d is described below
commit 1b06ac1856d351ca24106ef6261966cdcc5e01c8
Author: mynameis180 <[email protected]>
AuthorDate: Thu Nov 20 16:51:05 2025 +0800
HDFS-17834. Fix invalid HTTP links for DataNodes in IPv6 environment
(#8081). Contributed by sunhui.
Signed-off-by: He Xiaoqiao <[email protected]>
---
.../src/main/webapps/router/federationhealth.js | 22 ++++++++++++++++++++--
.../hadoop-hdfs/src/main/webapps/hdfs/dfshealth.js | 21 +++++++++++++++++++--
2 files changed, 39 insertions(+), 4 deletions(-)
diff --git
a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/federationhealth.js
b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/federationhealth.js
index 6220ca14a8c..9e94cf71e9d 100644
---
a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/federationhealth.js
+++
b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/federationhealth.js
@@ -278,9 +278,27 @@
for (var i = 0, e = nodes.length; i < e; ++i) {
var n = nodes[i];
n.usedPercentage = Math.round((n.used + n.nonDfsUsedSpace) * 1.0 /
n.capacity * 100);
- var port = n.infoAddr.split(":")[1];
- var securePort = n.infoSecureAddr.split(":")[1];
+
+ var infoAddrParts = n.infoAddr.split("]:");
var dnHost = n.name.split(":")[0];
+ var port;
+ if (infoAddrParts.length > 1) {
+ // IPv6 url [xxxx:xxxx:...]:port
+ port = infoAddrParts[1];
+ } else {
+ // IPv4 url host:port
+ port = n.infoAddr.split(":")[1];
+ }
+
+ var securePort = "0";
+ if (n.infoSecureAddr) {
+ var secureAddrParts = n.infoSecureAddr.split("]:");
+ if (secureAddrParts.length > 1) {
+ securePort = secureAddrParts[1];
+ } else {
+ securePort = n.infoSecureAddr.split(":")[1];
+ }
+ }
n.dnWebAddress = "http://" + dnHost + ":" + port;
if (securePort != 0) {
n.dnWebAddress = "https://" + dnHost + ":" + securePort;
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/dfshealth.js
b/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/dfshealth.js
index 8074755bfee..ef6df830f28 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/dfshealth.js
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/dfshealth.js
@@ -227,9 +227,26 @@
var n = nodes[i];
n.usedPercentage = Math.round((n.used + n.nonDfsUsedSpace) * 1.0 /
n.capacity * 100);
- var port = n.infoAddr.split(":")[1];
- var securePort = n.infoSecureAddr.split(":")[1];
+ var infoAddrParts = n.infoAddr.split("]:");
var dnHost = n.name.split(":")[0];
+ var port;
+ if (infoAddrParts.length > 1) {
+ // IPv6 url [xxxx:xxxx:...]:port
+ port = infoAddrParts[1];
+ } else {
+ // IPv4 url host:port
+ port = n.infoAddr.split(":")[1];
+ }
+
+ var securePort = "0";
+ if (n.infoSecureAddr) {
+ var secureAddrParts = n.infoSecureAddr.split("]:");
+ if (secureAddrParts.length > 1) {
+ securePort = secureAddrParts[1];
+ } else {
+ securePort = n.infoSecureAddr.split(":")[1];
+ }
+ }
n.dnWebAddress = "http://" + dnHost + ":" + port;
if (securePort != 0) {
n.dnWebAddress = "https://" + dnHost + ":" + securePort;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]