[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to