Skip to content

HADOOP-18329 - Support for IBM Semeru JVM v>11.0.15.0 Vendor Name Changes #5208

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

Conversation

JackBuggins
Copy link
Contributor

@JackBuggins JackBuggins commented Dec 12, 2022

Description of PR

Applies patches provided in to branch-3.3 via cherry-picking a merge commit of the proposed changes, eg.

git cherry-pick a46b20d25f12dfb6af1d89c6bd8e39220cc8c928 -m 1

The original change request can be found at #4537


There are checks within the PlatformName class that use the Vendor property of the provided runtime JVM specifically looking for IBM within the name. Whilst this check worked for IBM's java technology edition it fails to work on Semeru since 11.0.15.0 due to the following change:

java.vendor system property
In this release, the java.vendor system property has been changed from "International Business Machines Corporation" to "IBM Corporation".

Modules such as the below are not provided in these runtimes.
com.ibm.security.auth.module.JAASLoginModule

This change attempts to use reflection to ensure that a class common to IBM JT runtimes exists, extending upon the vendor check, since IBM vendored JVM's may not actually require special logic to use custom security modules. The same 3.3.3 versions were working correctly until the vendor name change was observed during routine upgrades by internal CI.

How was this patch tested?

CI + Unit test

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?

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 10m 21s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-3.3 Compile Tests _
+0 🆗 mvndep 15m 31s Maven dependency ordering for branch
+1 💚 mvninstall 26m 48s branch-3.3 passed
+1 💚 compile 18m 46s branch-3.3 passed
+1 💚 checkstyle 1m 0s branch-3.3 passed
+1 💚 mvnsite 1m 7s branch-3.3 passed
+1 💚 javadoc 1m 4s branch-3.3 passed
+1 💚 spotbugs 1m 39s branch-3.3 passed
+1 💚 shadedclient 25m 22s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for patch
+1 💚 mvninstall 0m 37s the patch passed
+1 💚 compile 17m 54s the patch passed
+1 💚 javac 17m 54s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 54s hadoop-common-project: The patch generated 0 new + 3 unchanged - 1 fixed = 3 total (was 4)
+1 💚 mvnsite 1m 6s the patch passed
+1 💚 javadoc 0m 57s the patch passed
+1 💚 spotbugs 1m 48s the patch passed
+1 💚 shadedclient 25m 37s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 37s hadoop-minikdc in the patch passed.
+1 💚 unit 3m 34s hadoop-auth in the patch passed.
+1 💚 asflicense 0m 50s The patch does not generate ASF License warnings.
158m 35s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5208/1/artifact/out/Dockerfile
GITHUB PR #5208
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux b3f0d71badd5 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision branch-3.3 / 3774de9
Default Java Private Build-1.8.0_352-8u352-ga-1~18.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5208/1/testReport/
Max. process+thread count 527 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-minikdc hadoop-common-project/hadoop-auth U: hadoop-common-project
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5208/1/console
versions git=2.17.1 maven=3.6.0 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

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.

+1, merging

@steveloughran steveloughran marked this pull request as ready for review December 12, 2022 17:26
@steveloughran steveloughran merged commit c5b360f into apache:branch-3.3 Dec 12, 2022
asfgit pushed a commit that referenced this pull request Dec 12, 2022
…ges (#4537) (#5208)

The static boolean PlatformName.IBM_JAVA now identifies
Java 11+ IBM Semeru runtimes as IBM JVM releases.

Contributed by Jack Buggins.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants