Siyao Meng created HADOOP-20030:
-----------------------------------

             Summary: Add an opt-in Maven profile and CI job that run tests 
with IPv6 enabled
                 Key: HADOOP-20030
                 URL: https://issues.apache.org/jira/browse/HADOOP-20030
             Project: Hadoop Common
          Issue Type: Sub-task
            Reporter: Siyao Meng
            Assignee: Siyao Meng


The default surefire configuration sets {{java.net.preferIPv4Stack=true}} for 
every test JVM:

{code:xml}
<java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
{code}

[hadoop-project/pom.xml:2624|https://github.com/apache/hadoop/blob/1097744bc490b65cad5ab2fbeafff35687971357/hadoop-project/pom.xml#L2624]

With that setting the JVM uses IPv4-only sockets, so tests cannot exercise IPv6 
code paths even on a host with IPv6 loopback. There is also no CI job for IPv6. 
The IPv6 fixes under HADOOP-11890 therefore have unit tests for parsing and 
formatting, but nothing runs servers or clients over IPv6 in CI.

*Proposal:*
* Add an opt-in {{ipv6-test}} Maven profile that sets 
{{java.net.preferIPv4Stack=false}} and {{java.net.preferIPv6Addresses=true}} 
for surefire. The default build is unchanged.
* Add a GitHub Actions workflow that runs a selected set of IPv6 tests under 
that profile. IPv6 loopback ({{::1}}) is available on hosted runners without 
outbound IPv6.
* Optionally, a manually triggered job that builds the distribution and runs a 
small IPv6-only docker-compose cluster smoke test.

Changing the default to dual-stack for all tests is a separate decision and is 
not proposed here.

POC: 
https://github.com/smengcl/hadoop/commit/3aa86b3ccdebf594d7661786c22ce54e2c6baad1
 (profile) and 
https://github.com/smengcl/hadoop/commit/f0ed93b0eac18e19e391e2a6812b0f343ec0e20d
 (workflow)



--
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