You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2025/11/12 03:31:00 UTC
[jira] [Commented] (HDFS-17834) HDFS NameNode Web UI generates invalid HTTP links for DataNodes in IPv6 environment
[ https://issues.apache.org/jira/browse/HDFS-17834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18037602#comment-18037602 ]
ASF GitHub Bot commented on HDFS-17834:
---------------------------------------
mynameis180 opened a new pull request, #8080:
URL: https://github.com/apache/hadoop/pull/8080
<!--
Thanks for sending a pull request!
1. If this is your first time, please read our contributor guidelines: https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
2. Make sure your PR title starts with JIRA issue id, e.g., 'HADOOP-17799. Your PR title ...'.
-->
## Description of PR
This PR fixes HDFS-17834: HDFS NameNode Web UI generates invalid HTTP links for DataNodes in IPv6 environment.
### Problem
The NameNode Web UI incorrectly handles IPv6 addresses in DataNode links:
1. Fails to encapsulate IPv6 addresses in square brackets `[]` as required by RFC 2732
2. Incorrectly parses IPv6 addresses, mistaking parts of the address for port numbers
3. Generates malformed, unclickable links that don't point to the DataNode's web interface
### Solution
- Properly wrap IPv6 addresses in square brackets for URL construction
- Fix the address parsing logic to correctly separate IPv6 addresses from port numbers
- Ensure generated links follow RFC 2732 standards for IPv6 literal addresses in URLs
### Example
Before: `https://datanodeHostname:30` (invalid)
After: `https://[1172:30:0:0:0:0:8a34]:50010` (valid)
## How was this patch tested?
- [x] Added unit tests for IPv6 address formatting in URL generation
- [x] Tested with existing IPv4 addresses to ensure no regression
- [x] Manual testing with IPv6 DataNode configurations
- [x] Verified generated links are clickable and point to correct DataNode web interfaces
## For code changes:
- [x] Does the title or this PR starts with the corresponding JIRA issue id?
- [x] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
- [x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
- [x] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?
**Note:** This PR only contains code changes and no new dependencies were added.
> HDFS NameNode Web UI generates invalid HTTP links for DataNodes in IPv6 environment
> -----------------------------------------------------------------------------------
>
> Key: HDFS-17834
> URL: https://issues.apache.org/jira/browse/HDFS-17834
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 3.4.1
> Environment: !image-2025-09-10-10-12-28-486.png|width=545,height=298!
> Reporter: sunhui
> Priority: Minor
> Attachments: fixwebsite_support_ipv6.diff, image-2025-09-10-10-12-28-486.png
>
>
> In the HDFS NameNode Web UI (http://nn-host:9870/dfshealth.html#tab-datanode), the "Http Address" column for DataNodes generates completely corrupt and invalid links when the DataNode's address is an IPv6 literal.
> 1. It fails to encapsulate the IPv6 address in square brackets `[]`, which is required by RFC 2732. 2. More critically, it appears to **parse the IPv6 address incorrectly**, mistaking a part of the address (e.g., the `30` in `1172:30:...`) for the port number, which completely breaks the URL. This results in a malformed, unclickable link that does not point to the DataNode's web interface. **Current Behavior & Evidence:** The DataNode's actual address is: `[1172:30:0:0:0:0:8a34]:50010` However, the NameNode UI displays the link as: `https://datanodeHostname:30` This link is **invalid** and leads nowhere. The UI has: - Stripped the original port `50010`. - Incorrectly extracted `30` (which is part of the IPv6 address) and used it as the port. - Failed to wrap the IPv6 address, leading to incorrect parsing.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org