joseluisll opened a new pull request, #8720: URL: https://github.com/apache/hadoop/pull/8720
### Description of PR Upgrades `maven-surefire-plugin` from 3.5.3 to 3.6.0, plus the two changes the new version needs. 3.6.0 is the first release that registers surefire's `listener` property as a JUnit Platform `TestExecutionListener` (SUREFIRE-1639). Eight poms already carry that property for `TimedOutTestsListener`, and on 3.5.3 it does nothing at all. This bump is what lets HADOOP-19964's listener bind, so a timed-out test prints a thread dump again. Until 19964 lands the listener stays dormant — this change is what unblocks it. Two changes come with the bump: - **`java.net.preferIPv4Stack` moves into `maven-surefire-plugin.argLine`.** As a `systemPropertyVariable` it is applied only after the forked JVM has started. 3.6.0 initialises the fork's networking before applying those properties, so the flag arrives too late and the fork falls back to IPv6, turning 5 of 7 CI test jobs red; 3.5.3 applies them before any networking class loads, which is why the same configuration works there. As an argLine entry the flag is a real JVM startup argument and cannot be late. All the `<argLine>` overrides in the tree interpolate the property and maven-failsafe-plugin shares it, so it propagates everywhere. `hadoop-registry` carried a second copy of the same ineffective setting; removed. - **`hadoop-common`'s test-jar added to `hadoop-yarn-services-core` and `hadoop-yarn-applications-catalog-webapp`.** Both inherit the listener property from `hadoop-yarn` but resolve only `hadoop-common`'s main jar, so the listener class cannot be loaded there and surefire silently drops it. ### Known impact of 3.6.0, needs a decision 3.6.0 also includes SUREFIRE-823, which **decouples `-DskipTests` from maven-failsafe-plugin**. On 3.5.3 `-DskipTests` skips both surefire and failsafe; on 3.6.0 it skips surefire only, and failsafe runs. `-DskipITs` still skips integration tests. For most of the tree this is invisible — `hadoop-aws`, `hadoop-azure`, `hadoop-gcp` and `hadoop-bos` gate their ITs on `skipITs` via the presence of `auth-keys.xml`, so they stay skipped. `hadoop-client-modules/hadoop-client-integration-tests` does not, and its integration tests now run under `mvn install -DskipTests`, the command in BUILDING.txt. This PR does not address that yet. Options are to bind failsafe's skip to `skipTests` in `hadoop-project`, to update BUILDING.txt and CI to pass `-DskipITs`, or to handle it in a follow-up JIRA. Happy to take direction from reviewers. ### How was this patch tested? WSL2 Ubuntu 24.04, OpenJDK 17, Maven 3.9.16. Full reactor build clean. Full suites on the modules this touches, all green: `hadoop-registry` (164 tests), `hadoop-yarn-services-core` (145), `hadoop-yarn-applications-catalog-webapp` (5). `hadoop-common` full suite run against unpatched trunk at the same commit as a control: every failure reproduces on the baseline, and the two that did not pass on rerun. No new failures. The tests that fail when 3.6.0 is bumped without the argLine fix all pass: `TestDNS`, `TestNameNodeRpcServer`, `TestBlockRecovery2`, `TestWebHdfsTokens`, `TestHSAdminServer`. One reporting change to be aware of: 3.6.0 counts assumption-skipped tests that 3.5.3 reported as zero, which raises `hadoop-common`'s skip count by 40 (two OpenSSL codec classes). ### For code changes: - [x] Does the title of this PR start with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')? - [ ] Object storage: Have the integration tests been executed and the endpoint declared according to the connector-specific documentation? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files? ### AI Tooling If an AI tool was used: - [x] The PR includes the phrase "Contains content generated by <tool>" where <tool> is the name of the AI tool used. - [x] My use of AI contributions follows the ASF legal policy https://www.apache.org/legal/generative-tooling.html Contains content generated by Claude Code. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
