Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HADOOP-19219. Resolve Certificate error in Hadoop-auth tests. #6939

Open
wants to merge 5 commits into
base: trunk
Choose a base branch
from

Conversation

muskan1012
Copy link

Description of PR

Implemented JDK 17 profile to suppress sun.security certificate errors encountered during migration from JDK 8, ensuring seamless compilation and compatibility.

How was this patch tested?

Tested locally by compiling project on JDK17.

For code changes:

Added profile for JDK17.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 22s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s 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 0m 20s Maven dependency ordering for branch
-1 ❌ mvninstall 0m 21s /branch-mvninstall-root.txt root in trunk failed.
-1 ❌ compile 0m 34s /branch-compile-root-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt root in trunk failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ compile 0m 22s /branch-compile-root-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt root in trunk failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
-1 ❌ mvnsite 0m 22s /branch-mvnsite-hadoop-common-project_hadoop-auth.txt hadoop-auth in trunk failed.
-1 ❌ mvnsite 0m 21s /branch-mvnsite-hadoop-project.txt hadoop-project in trunk failed.
-1 ❌ javadoc 0m 22s /branch-javadoc-hadoop-common-project_hadoop-auth-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt hadoop-auth in trunk failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ javadoc 0m 22s /branch-javadoc-hadoop-project-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt hadoop-project in trunk failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ javadoc 0m 22s /branch-javadoc-hadoop-common-project_hadoop-auth-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt hadoop-auth in trunk failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
-1 ❌ javadoc 0m 22s /branch-javadoc-hadoop-project-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt hadoop-project in trunk failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
+1 💚 shadedclient 4m 37s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
-1 ❌ mvninstall 0m 22s /patch-mvninstall-hadoop-common-project_hadoop-auth.txt hadoop-auth in the patch failed.
-1 ❌ mvninstall 0m 22s /patch-mvninstall-hadoop-project.txt hadoop-project in the patch failed.
-1 ❌ compile 0m 21s /patch-compile-root-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt root in the patch failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ javac 0m 21s /patch-compile-root-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt root in the patch failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ compile 0m 22s /patch-compile-root-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt root in the patch failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
-1 ❌ javac 0m 22s /patch-compile-root-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt root in the patch failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
+1 💚 blanks 0m 0s The patch has no blanks issues.
-1 ❌ mvnsite 2m 43s /patch-mvnsite-hadoop-common-project_hadoop-auth.txt hadoop-auth in the patch failed.
-1 ❌ mvnsite 0m 20s /patch-mvnsite-hadoop-project.txt hadoop-project in the patch failed.
-1 ❌ javadoc 0m 20s /patch-javadoc-hadoop-common-project_hadoop-auth-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt hadoop-auth in the patch failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ javadoc 0m 25s /patch-javadoc-hadoop-project-jdkUbuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.txt hadoop-project in the patch failed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2.
-1 ❌ javadoc 0m 26s /patch-javadoc-hadoop-common-project_hadoop-auth-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt hadoop-auth in the patch failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
-1 ❌ javadoc 0m 20s /patch-javadoc-hadoop-project-jdkPrivateBuild-1.8.0_412-8u412-ga-1~20.04.1-b08.txt hadoop-project in the patch failed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08.
-1 ❌ shadedclient 6m 38s patch has errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 0m 21s /patch-unit-hadoop-common-project_hadoop-auth.txt hadoop-auth in the patch failed.
-1 ❌ unit 0m 20s /patch-unit-hadoop-project.txt hadoop-project in the patch failed.
+0 🆗 asflicense 0m 20s ASF License check generated no output?
15m 33s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/1/artifact/out/Dockerfile
GITHUB PR #6939
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint
uname Linux 41bc1ee8eee3 5.15.0-106-generic #116-Ubuntu SMP Wed Apr 17 09:17:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / b602c1d
Default Java Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/1/testReport/
Max. process+thread count 61 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-auth hadoop-project U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/1/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 18s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s 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 13m 56s Maven dependency ordering for branch
+1 💚 mvninstall 19m 49s trunk passed
+1 💚 compile 8m 40s trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 compile 7m 58s trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 mvnsite 0m 53s trunk passed
+1 💚 javadoc 0m 54s trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javadoc 0m 50s trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 shadedclient 72m 50s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for patch
+1 💚 mvninstall 0m 23s the patch passed
+1 💚 compile 8m 19s the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javac 8m 19s the patch passed
+1 💚 compile 7m 51s the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 javac 7m 51s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 52s the patch passed
+1 💚 javadoc 0m 51s the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javadoc 0m 50s the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 shadedclient 23m 58s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 24s hadoop-project in the patch passed.
+1 💚 unit 2m 54s hadoop-auth in the patch passed.
+1 💚 asflicense 0m 41s The patch does not generate ASF License warnings.
119m 12s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/2/artifact/out/Dockerfile
GITHUB PR #6939
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint
uname Linux 86f71f747763 5.15.0-106-generic #116-Ubuntu SMP Wed Apr 17 09:17:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / fb8d38a
Default Java Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/2/testReport/
Max. process+thread count 557 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-common-project/hadoop-auth U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/2/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@pan3793
Copy link
Member

pan3793 commented Jul 12, 2024

is it only required for test but not required at runtime?

@muskan1012
Copy link
Author

is it only required for test but not required at runtime?

@pan3793 I have been trying to compile it using maven locally and during compilation I have faced this issue.
Not sure about runtime. It would be great if you can give me some insights on that as well.

@pan3793
Copy link
Member

pan3793 commented Jul 15, 2024

of course, those parameters are not required for compilation, but it's dangerous to only add them for test but not runtime.
for safety, the same java opts should be appended to HADOOP_OPTS at runtime. maybe we need to modify hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh to achieve that

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>--add-exports=java.base/sun.security.x509=ALL-UNNAMED --add-exports=java.base/sun.security.util=ALL-UNNAMED</argLine>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, I would suggest adding those parameters unconditionally, just like Apache Spark does.

Copy link
Contributor

@adoroszlai adoroszlai Jul 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pan3793 Can you please clarify "unconditionally" here? Do you mean "regardless of Java version"? --add-exports and --add-opens do not work with Java 8. I guess Spark does not support building/testing with Java 8.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please clarify "unconditionally" here? Do you mean "regardless of Java version"?

correct.

I guess Spark does not support building/testing with Java 8

Spark 3.3 ~ 3.5 supports Java 8 ~ 17, you can check Spark branch-3.5

https://github.com/apache/spark/blob/branch-3.5/pom.xml#L300

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Spark build makes it work by also setting -XX:+IgnoreUnrecognizedVMOptions:

https://github.com/apache/spark/blob/f1f5bb6ee40b655e334e90c0f81042c632601d41/pom.xml#L300-L302

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, sorry, i should mention IgnoreUnrecognizedVMOptions too.

do you think that hadoop can also follow that? it would simplify shell scripts and pom.xml

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with -XX:+IgnoreUnrecognizedVMOptions in our build/test scripts

Comment on lines 327 to 334
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting properties maven.compiler.source and maven.compiler.target has the same effect as creating a configuration for the plugin with source and target set. We only need one of these changes.

I'd keep the properties.

Suggested change
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: version is not needed, defined in root POM.

Suggested change
<version>3.0.0</version>

Comment on lines 290 to 304
<executions>
<execution>
<id>enforce-java-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why require Java version 1.8 in a profile activated by <jdk>1.8</jdk>?

Comment on lines 315 to 316
<maven.compiler.source>${javac.version}</maven.compiler.source>
<maven.compiler.target>${javac.version}</maven.compiler.target>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like these properties are set regardless of Java version. So they could be moved out of the profiles.

However, we can use the profiles to set maven.compiler.release for Java 9+ instead of the other two properties.

Java 9 introduced new javac option --release, which helps ensure compatibility with the given Java version (blog with great explanation). The goal of this change is to set this option when compiling with JDK 9+, instead of --source and --target.

--release expects version without the old-style 1. prefix (i.e. 8 instead of 1.8). maven-enforcer-plugin added support for the same in version 3.2.1, so we also need to bump the plugin.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you want to leverage the --release to allow Hadoop building against Java 17 but could run with Java 8 and above?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

source and target are set for the same reason, to be able to build with newer Java, but still create binaries for Java 8. release is similar, but better.

Copy link
Member

@pan3793 pan3793 Jul 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if it really works. I have experienced a lot of the following error cases when running jar on JDK 8 that built with newer JDK with release 8

java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have experienced a lot of the following error cases when running jar on JDK 8 that built with newer JDK with release 8

Using -target or --release?

Because that's exactly the kind of problem --release solves compared to -target.

It's easy to reproduce the problem and verify the fix:

$ cat > NoSuchMethod.java <<EOF
import java.nio.ByteBuffer;

public class NoSuchMethod {

  public static void main(String[] args) {
    System.out.println(ByteBuffer.allocate(100).position(20).limit(62).remaining());
  }

}
EOF

$ usr/lib/jvm/java-11-openjdk-amd64/bin/javac -Xlint:none -source 8 -target 8 NoSuchMethod.java \
  && /usr/lib/jvm/java-8-openjdk-amd64/bin/java NoSuchMethod
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
	at NoSuchMethod.main(NoSuchMethod.java:6)

$ /usr/lib/jvm/java-11-openjdk-amd64/bin/javac --release 8 NoSuchMethod.java \
  && /usr/lib/jvm/java-8-openjdk-amd64/bin/java NoSuchMethod
42

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, thanks for letting me know it can be resolved by --release

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that bytebuffer thing is trouble as even recent java8 open jdks have that bytebuffer override; you need to build on an oracle jdk right now. this will be an improvement if we can trust it

Comment on lines 275 to 279
<profile>
<id>java-8</id>
<activation>
<jdk>1.8</jdk>
</activation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these profiles being added in hadoop-common-project/hadoop-auth/pom.xml instead of the root POM?

  1. We may need the --add-opens args for other tests.
  2. More importantly, the compiler settings should be global.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these profiles being added in hadoop-common-project/hadoop-auth/pom.xml instead of the root POM?

  1. We may need the --add-opens args for other tests.
  2. More importantly, the compiler settings should be global.

@adoroszlai Sure I will move it to hadoop-main pom.

@pan3793
Copy link
Member

pan3793 commented Jul 16, 2024

FYI, spark-submit will auto append add-opens (the exact list passed to surefire plugin) for Spark driver/executor JVM processes, see
https://github.com/apache/spark/blob/branch-3.5/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java#L29

@muskan1012
Copy link
Author

@adoroszlai, @pan3793 Thank you for the review. I have changed implementation as per your suggestions. Please have a look!

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 31s 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 _
+1 💚 mvninstall 44m 40s trunk passed
+1 💚 compile 0m 23s trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 compile 0m 23s trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 mvnsite 0m 28s trunk passed
+1 💚 javadoc 0m 28s trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javadoc 0m 25s trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 shadedclient 80m 18s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 80m 39s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 16s the patch passed
+1 💚 compile 0m 14s the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javac 0m 14s the patch passed
+1 💚 compile 0m 14s the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 javac 0m 14s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 16s the patch passed
+1 💚 javadoc 0m 14s the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javadoc 0m 15s the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 shadedclient 34m 41s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 18s hadoop-project in the patch passed.
+1 💚 asflicense 0m 38s The patch does not generate ASF License warnings.
118m 56s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/4/artifact/out/Dockerfile
GITHUB PR #6939
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint
uname Linux 0df03c746747 5.15.0-106-generic #116-Ubuntu SMP Wed Apr 17 09:17:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 8417487
Default Java Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/4/testReport/
Max. process+thread count 553 (vs. ulimit of 5500)
modules C: hadoop-project U: hadoop-project
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/4/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@pan3793
Copy link
Member

pan3793 commented Jul 19, 2024

Runtime JPMS args mentioned here #6939 (comment) should be considered, otherwise the runtime errors will be hidden in testing.

@@ -167,9 +167,11 @@
-->
<enforced.java.version>[${javac.version},)</enforced.java.version>
<enforced.maven.version>[3.3.0,)</enforced.maven.version>

<extraJavaTestArgs>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

jdk8 does not support --add-exports, and the test will fail.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

read here

Copy link
Contributor

@steveloughran steveloughran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with this

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 30s 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 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 1s 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 16m 28s Maven dependency ordering for branch
+1 💚 mvninstall 32m 29s trunk passed
+1 💚 compile 17m 30s trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 compile 16m 25s trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 mvnsite 2m 23s trunk passed
+1 💚 javadoc 1m 56s trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javadoc 1m 36s trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 shadedclient 37m 1s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 37m 27s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 1m 12s the patch passed
+1 💚 compile 16m 58s the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javac 16m 58s the patch passed
+1 💚 compile 16m 26s the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 javac 16m 26s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 2m 20s the patch passed
+1 💚 shellcheck 0m 3s No new issues.
+1 💚 javadoc 1m 49s the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2
+1 💚 javadoc 1m 33s the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
+1 💚 shadedclient 39m 11s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 38s hadoop-project in the patch passed.
+1 💚 unit 20m 10s hadoop-common in the patch passed.
+1 💚 asflicense 1m 3s The patch does not generate ASF License warnings.
224m 20s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/5/artifact/out/Dockerfile
GITHUB PR #6939
Optional Tests dupname asflicense mvnsite unit codespell detsecrets shellcheck shelldocs compile javac javadoc mvninstall shadedclient xmllint
uname Linux b56c5d5bb2c9 5.15.0-106-generic #116-Ubuntu SMP Wed Apr 17 09:17:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 4d2fe94
Default Java Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/5/testReport/
Max. process+thread count 1348 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-common-project/hadoop-common U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6939/5/console
versions git=2.25.1 maven=3.6.3 shellcheck=0.7.0
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@@ -618,8 +618,7 @@ function hadoop_bootstrap

export HADOOP_OS_TYPE=${HADOOP_OS_TYPE:-$(uname -s)}

# defaults
export HADOOP_OPTS=${HADOOP_OPTS:-"-Djava.net.preferIPv4Stack=true"}
export HADOOP_OPTS="${HADOOP_OPTS:-"-Djava.net.preferIPv4Stack=true"} -XX:+IgnoreUnrecognizedVMOptions --add-exports=java.base/sun.security.x509=ALL-UNNAMED --add-exports=java.base/sun.security.util=ALL-UNNAMED"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest adding the JPMS opts in function hadoop_finalize_hadoop_opts or add a dedicated function hadoop_finalize_jpms_opts

also, we should add comments on both sides(here and pom.xml), to mention the future contributors sync the jpms opts

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I concur. we also need to make sure all forked processes (terasort...) are happy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants