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]