Skip to content

HADOOP-18898. Add argLine to maven-failsafe-plugin and fix duplicate argLine in hadoop-tos#8253

Open
eciuca wants to merge 2 commits intoapache:trunkfrom
eciuca:HADOOP-18898-failsafe-argline
Open

HADOOP-18898. Add argLine to maven-failsafe-plugin and fix duplicate argLine in hadoop-tos#8253
eciuca wants to merge 2 commits intoapache:trunkfrom
eciuca:HADOOP-18898-failsafe-argline

Conversation

@eciuca
Copy link

@eciuca eciuca commented Feb 16, 2026

Description of PR

Child JVMs spawned by Maven's failsafe plugin during integration tests do not receive the --add-opens JVM options needed for Java 17+ compatibility.

Three fixes:

  1. hadoop-project/pom.xml — Added <argLine>${maven-surefire-plugin.argLine}</argLine> to the maven-failsafe-plugin configuration in <pluginManagement>. This ensures all failsafe usages across the project (hadoop-aws, hadoop-azure, hadoop-gcp, hadoop-client-integration-tests) inherit the --add-opens options by default, matching the existing surefire configuration.

  2. hadoop-cloud-storage-project/hadoop-tos/pom.xml — Fixed a bug where two <argLine> elements existed in the same surefire <configuration> block. Since argLine is a scalar String parameter, the second element (-Xmx2048m) silently overwrote the first one that included ${maven-surefire-plugin.argLine}, causing all JPMS options to be lost in 8 forked test JVMs. Merged into a single <argLine>${maven-surefire-plugin.argLine} -Xmx2048m</argLine>.

  3. hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/pom.xml — Fixed io.github.ascopes:protobuf-maven-plugin v5.0.0 configuration that used removed parameter aliases. protocVersion was renamed to protoc and binaryMavenPlugins/binaryMavenPlugin was replaced by the unified plugins/plugin kind="binary-maven" structure. Without this fix the build fails with: The parameters 'protoc' for goal io.github.ascopes:protobuf-maven-plugin:5.0.0:generate are missing or invalid.

How was this patch tested?

  • Verified that maven-failsafe-plugin in hadoop-project/pom.xml previously had no argLine configuration (only version was set in <pluginManagement>)
  • Confirmed that the parallel-tests profiles in hadoop-aws, hadoop-azure, hadoop-gcp already set argLine explicitly with ${maven-surefire-plugin.argLine}, but the sequential-tests profiles and hadoop-client-integration-tests did not
  • Confirmed that Maven's XML-to-Java mapping for scalar String parameters uses last-element-wins semantics for duplicate elements
  • Verified hadoop-yarn-csi compiles successfully after the protobuf plugin configuration update

For code changes:

  • Does the title or this PR starts 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?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

AI Tooling

…argLine in hadoop-tos.

The maven-failsafe-plugin in hadoop-project/pom.xml had no argLine
configuration, so integration tests forked by failsafe did not receive
the --add-opens JVM options needed for Java 17+ compatibility.

Additionally, hadoop-tos/pom.xml had two <argLine> elements in the same
surefire <configuration> block. Since argLine is a scalar String parameter,
the second element (-Xmx2048m) silently overwrote the first one that
included ${maven-surefire-plugin.argLine}, causing all JPMS options to be
lost in forked test JVMs.

Contains content generated by Claude Code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 7m 34s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+0 🆗 mvndep 8m 14s Maven dependency ordering for branch
-1 ❌ mvninstall 21m 14s /branch-mvninstall-root.txt root in trunk failed.
-1 ❌ compile 7m 18s /branch-compile-root-jdkUbuntu-21.0.10+7-Ubuntu-124.04.txt root in trunk failed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04.
-1 ❌ compile 7m 38s /branch-compile-root-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1.txt root in trunk failed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1.
+1 💚 mvnsite 1m 0s trunk passed
+1 💚 javadoc 0m 56s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 1m 1s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 shadedclient 62m 48s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 0m 26s the patch passed
-1 ❌ compile 6m 54s /patch-compile-root-jdkUbuntu-21.0.10+7-Ubuntu-124.04.txt root in the patch failed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04.
-1 ❌ javac 6m 54s /patch-compile-root-jdkUbuntu-21.0.10+7-Ubuntu-124.04.txt root in the patch failed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04.
-1 ❌ compile 7m 31s /patch-compile-root-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1.txt root in the patch failed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1.
-1 ❌ javac 7m 31s /patch-compile-root-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1.txt root in the patch failed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1.
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 53s the patch passed
+1 💚 javadoc 0m 54s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 0m 52s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 shadedclient 19m 14s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 27s hadoop-project in the patch passed.
+1 💚 unit 1m 19s hadoop-tos in the patch passed.
+1 💚 asflicense 0m 38s The patch does not generate ASF License warnings.
109m 16s
Subsystem Report/Notes
Docker ClientAPI=1.53 ServerAPI=1.53 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8253/1/artifact/out/Dockerfile
GITHUB PR #8253
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint
uname Linux 8192b347681e 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / c2d992a
Default Java Ubuntu-17.0.18+8-Ubuntu-124.04.1
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.10+7-Ubuntu-124.04 /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.18+8-Ubuntu-124.04.1
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8253/1/testReport/
Max. process+thread count 776 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-cloud-storage-project/hadoop-tos U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8253/1/console
versions git=2.43.0 maven=3.9.11
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

The io.github.ascopes:protobuf-maven-plugin 5.0.0 removed deprecated
parameter aliases: protocVersion was renamed to protoc, and
binaryMavenPlugins was replaced by the unified plugins element with
kind="binary-maven". Update the configuration to use the current
parameter names so protoc can be resolved.

Contains content generated by Claude Code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions github-actions bot added the YARN label Feb 16, 2026
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 44s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+0 🆗 mvndep 8m 0s Maven dependency ordering for branch
-1 ❌ mvninstall 20m 58s /branch-mvninstall-root.txt root in trunk failed.
-1 ❌ compile 7m 17s /branch-compile-root-jdkUbuntu-21.0.10+7-Ubuntu-124.04.txt root in trunk failed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04.
-1 ❌ compile 7m 34s /branch-compile-root-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1.txt root in trunk failed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1.
-1 ❌ mvnsite 0m 28s /branch-mvnsite-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi.txt hadoop-yarn-csi in trunk failed.
-1 ❌ javadoc 0m 28s /branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi-jdkUbuntu-21.0.10+7-Ubuntu-124.04.txt hadoop-yarn-csi in trunk failed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04.
-1 ❌ javadoc 0m 26s /branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1.txt hadoop-yarn-csi in trunk failed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1.
+1 💚 shadedclient 63m 53s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 0m 43s the patch passed
+1 💚 compile 8m 24s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javac 8m 24s the patch passed
+1 💚 compile 9m 4s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 javac 9m 4s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 1m 29s the patch passed
-1 ❌ javadoc 0m 30s /results-javadoc-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi-jdkUbuntu-21.0.10+7-Ubuntu-124.04.txt hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi-jdkUbuntu-21.0.10+7-Ubuntu-124.04 with JDK Ubuntu-21.0.10+7-Ubuntu-124.04 generated 26 new + 0 unchanged - 0 fixed = 26 total (was 0)
-1 ❌ javadoc 0m 34s /results-javadoc-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1.txt hadoop-yarn-project_hadoop-yarn_hadoop-yarn-csi-jdkUbuntu-17.0.18+8-Ubuntu-124.04.1 with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1 generated 18 new + 0 unchanged - 0 fixed = 18 total (was 0)
+1 💚 shadedclient 21m 38s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 23s hadoop-project in the patch passed.
+1 💚 unit 0m 42s hadoop-yarn-csi in the patch passed.
+1 💚 unit 1m 22s hadoop-tos in the patch passed.
+1 💚 asflicense 0m 41s The patch does not generate ASF License warnings.
109m 57s
Subsystem Report/Notes
Docker ClientAPI=1.53 ServerAPI=1.53 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8253/2/artifact/out/Dockerfile
GITHUB PR #8253
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint
uname Linux 1beb51bebfd1 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / c5f8fc6
Default Java Ubuntu-17.0.18+8-Ubuntu-124.04.1
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.10+7-Ubuntu-124.04 /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.18+8-Ubuntu-124.04.1
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8253/2/testReport/
Max. process+thread count 620 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi hadoop-cloud-storage-project/hadoop-tos U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8253/2/console
versions git=2.43.0 maven=3.9.11
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@eciuca
Copy link
Author

eciuca commented Feb 17, 2026

Thanks for the review, @hadoop-yetus.

Re: trunk failures (mvninstall, compile, mvnsite, javadoc): These all fail on trunk due to the broken io.github.ascopes:protobuf-maven-plugin configuration in hadoop-yarn-csi. Our patch fixes this — all "Patch Compile Tests" pass (mvninstall ✅, compile ✅, mvnsite ✅, unit ✅, shadedclient ✅).

Re: javadoc warnings (26 new): These are pre-existing missing-comment warnings in hadoop-yarn-csi source files (e.g. CsiClient.java, CsiGrpcClient.java, ProtoTranslator.java). They appear as "new" only because trunk cannot build hadoop-yarn-csi at all (protobuf failure → 0 baseline warnings). Once our patch fixes the build, javadoc can run and surfaces these pre-existing issues. None of these warnings are in files touched by this PR.

Re: test4tests: This PR only modifies Maven pom.xml build configuration (argLine propagation and protobuf plugin parameters). No new tests are needed — the fix is verified by the successful compilation and unit test execution in the patch phase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants