Skip to content

HBASE-25465 Use javac --release option for supporting cross version compilation in create-release - #3974

Closed
ndimiduk wants to merge 1 commit into
apache:masterfrom
ndimiduk:25465-compile-on-jdk11
Closed

HBASE-25465 Use javac --release option for supporting cross version compilation in create-release#3974
ndimiduk wants to merge 1 commit into
apache:masterfrom
ndimiduk:25465-compile-on-jdk11

Conversation

@ndimiduk

Copy link
Copy Markdown
Member
  • Update our jdk11 build profile in the pom so that it uses the additional flag on javac, requires maven 3.6+.
  • update create-release Dockerfile to use jdk11-headless

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

Perhaps the change to create-release can be done in isolation to the change to the pom.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 45smaster passed
+1 💚compile3m 12smaster passed
+1 💚shadedjars8m 21sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc2m 51smaster passed
_ Patch Compile Tests _
-1 ❌mvninstall1m 6sroot in the patch failed.
-1 ❌compile1m 0sroot in the patch failed.
-0 ⚠️javac1m 0sroot in the patch failed.
-1 ❌shadedjars1m 27spatch has 119 errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 18sroot in the patch failed.
_ Other Tests _
-1 ❌unit1m 3sroot in the patch failed.
25m 47s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#3974
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 65e74ea8096c 4.15.0-156-generic #163-Ubuntu SMP Thu Aug 19 23:31:58 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / f16b7b1
Default JavaAdoptOpenJDK-11.0.10+9
mvninstallhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt
compilehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-root.txt
javachttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-root.txt
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-root.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/testReport/
Max. process+thread count134 (vs. ulimit of 30000)
modulesC: . U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗shelldocs0m 0sShelldocs was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall4m 12smaster passed
+1 💚compile8m 59smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 46sthe patch passed
+1 💚compile8m 57sthe patch passed
+1 💚javac8m 57sthe patch passed
+1 💚hadolint0m 1sThere were no new hadolint issues.
+1 💚shellcheck0m 0sThere were no new shellcheck issues.
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚xml0m 1sThe patch has no ill-formed XML file.
+1 💚hadoopcheck19m 21sPatch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.
_ Other Tests _
+1 💚asflicense0m 20sThe patch does not generate ASF License warnings.
54m 7s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#3974
Optional Testsdupname asflicense hadolint shellcheck shelldocs javac hadoopcheck xml compile
unameLinux bd09fd0a4e9b 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / f16b7b1
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count141 (vs. ulimit of 30000)
modulesC: . U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/console
versionsgit=2.17.1 maven=3.6.3 shellcheck=0.4.6 hadolint=1.17.5-0-g443423c
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9

Copy link
Copy Markdown
Contributor

Perhaps the change to create-release can be done in isolation to the change to the pom.

Yes, let's have separated issues for these two changes. The create-release script needs manual verification.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 10smaster passed
+1 💚compile2m 46smaster passed
+1 💚shadedjars8m 17sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc2m 14smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 50sthe patch passed
+1 💚compile2m 48sthe patch passed
+1 💚javac2m 48sthe patch passed
+1 💚shadedjars8m 13spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc2m 11sthe patch passed
_ Other Tests _
-1 ❌unit297m 50sroot in the patch failed.
335m 20s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#3974
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 9df5cc4f9864 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / f16b7b1
Default JavaAdoptOpenJDK-1.8.0_282-b08
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/testReport/
Max. process+thread count2934 (vs. ulimit of 30000)
modulesC: . U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

…ompilation
Update our jdk11 build profile in the pom so that it uses the additional flag on javac, requires
maven 3.6+.
@ndimiduk
ndimidukforce-pushed the 25465-compile-on-jdk11 branch from 6e1aa66 to 157a444CompareJanuary 4, 2022 19:00
@ndimiduk

Copy link
Copy Markdown
MemberAuthor

Perhaps the change to create-release can be done in isolation to the change to the pom.

Yes, let's have separated issues for these two changes. The create-release script needs manual verification.

Okay, I split out the changes. This issue is just the POM change.

Comment threadpom.xml
</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
<!-- these two control the Java language version and JVM runtime version supported -->
<compileSource>1.8</compileSource>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I believe that compile source and target allow setting 8 in addition to 1.8 while release requires 8 - can we standardize on a single value for all of these instead of have both 1.8 and 8 around?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

It's never as simple as that...

$ env JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home mvn clean install assembly:single -DskipTests
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project hbase-common: Compilation failure: Compilation failure: [ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[48,16] package sun.misc does not exist
[ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBuffAllocator.java:[36,18] package sun.nio.ch does not exist
[ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/nio/SingleByteBuff.java:[34,18] package sun.nio.ch does not exist
[ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1360,20] cannot find symbol
[ERROR] symbol: class Unsafe [ERROR] location: class org.apache.hadoop.hbase.util.Bytes.ConverterHolder.UnsafeConverter [ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1470,20] cannot find symbol
[ERROR] symbol: class Unsafe [ERROR] location: class org.apache.hadoop.hbase.util.Bytes.LexicographicalComparerHolder.UnsafeComparer [ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java:[36,18] package sun.nio.ch does not exist
[ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAccess.java:[31,16] package sun.misc does not exist
[ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAccess.java:[32,18] package sun.nio.ch does not exist
[ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/util/UnsafeAccess.java:[40,23] cannot find symbol
[ERROR] symbol: class Unsafe [ERROR] location: class org.apache.hadoop.hbase.util.UnsafeAccess [ERROR] /Users/ndimiduk/repos/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBuffAllocator.java:[338,24] cannot find symbol
[ERROR] symbol: class DirectBuffer [ERROR] location: class org.apache.hadoop.hbase.io.ByteBuffAllocator
...

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 2sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 50smaster passed
+1 💚compile3m 16smaster passed
+1 💚shadedjars8m 15sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc2m 54smaster passed
_ Patch Compile Tests _
-1 ❌mvninstall1m 9sroot in the patch failed.
-1 ❌compile1m 0sroot in the patch failed.
-0 ⚠️javac1m 0sroot in the patch failed.
-1 ❌shadedjars1m 27spatch has 119 errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 18sroot in the patch failed.
_ Other Tests _
-1 ❌unit1m 2sroot in the patch failed.
26m 29s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#3974
Optional Testsjavac javadoc unit shadedjars compile
unameLinux cd2718e20eed 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 70cb9b0
Default JavaAdoptOpenJDK-11.0.10+9
mvninstallhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt
compilehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-root.txt
javachttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-root.txt
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-root.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/testReport/
Max. process+thread count135 (vs. ulimit of 30000)
modulesC: . U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 58smaster passed
+1 💚compile9m 9smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 50sthe patch passed
+1 💚compile9m 3sthe patch passed
+1 💚javac9m 3sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚xml0m 2sThe patch has no ill-formed XML file.
+1 💚hadoopcheck19m 40sPatch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.
_ Other Tests _
+1 💚asflicense0m 17sThe patch does not generate ASF License warnings.
54m 29s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#3974
Optional Testsdupname asflicense javac hadoopcheck xml compile
unameLinux 8eb739b342e2 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 70cb9b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count141 (vs. ulimit of 30000)
modulesC: . U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

I'm pretty sure this will not work with today's version of JDK11 ; we appear to be blocked by JDK-8214165.

@ndimidukndimiduk closed this Jan 4, 2022
@ndimiduk
ndimiduk deleted the 25465-compile-on-jdk11 branch January 4, 2022 23:47
@ndimiduk
ndimiduk restored the 25465-compile-on-jdk11 branch January 4, 2022 23:49
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall3m 58smaster passed
+1 💚compile2m 48smaster passed
+1 💚shadedjars8m 17sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc2m 10smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 49sthe patch passed
+1 💚compile2m 47sthe patch passed
+1 💚javac2m 47sthe patch passed
+1 💚shadedjars8m 12spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc2m 11sthe patch passed
_ Other Tests _
-1 ❌unit329m 6sroot in the patch failed.
366m 29s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#3974
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 21c8bb842c3d 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 70cb9b0
Default JavaAdoptOpenJDK-1.8.0_282-b08
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/testReport/
Max. process+thread count4886 (vs. ulimit of 30000)
modulesC: . U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3974/2/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Sign up for freeto 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.

4 participants

@ndimiduk@Apache-HBase@Apache9@madrob