hbase-connectors icon indicating copy to clipboard operation
hbase-connectors copied to clipboard

HBASE-28382 Support building hbase-connectors with JDK17

Open NihalJain opened this issue 1 year ago • 8 comments

  • Remove EOL'ed gmaven-plugin which is unnecessarily too complex and does not work with JDK17
  • Refactor flags for UT and IT for ease of profile based run
  • Bump and replace mockito-all with mockito-bom and update dependencies as needed
  • Copy JDK17 flags from HBase and Spark
  • Add profile for JDK11 and JDK17 build

NihalJain avatar Aug 17 '24 09:08 NihalJain

Marking as draft, will self review first and make it non-draft later!

NihalJain avatar Aug 17 '24 09:08 NihalJain

:confetti_ball: +1 overall

Vote Subsystem Runtime Comment
+0 :ok: reexec 1m 15s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 0s No case conflicting files found.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
-0 :warning: 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.
_ master Compile Tests _
+0 :ok: mvndep 0m 27s Maven dependency ordering for branch
+1 :green_heart: mvninstall 1m 30s master passed
+1 :green_heart: compile 0m 52s master passed
+1 :green_heart: spotless 0m 15s branch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 51s master passed
_ Patch Compile Tests _
+0 :ok: mvndep 0m 7s Maven dependency ordering for patch
+1 :green_heart: mvninstall 0m 49s the patch passed
+1 :green_heart: compile 0m 51s the patch passed
+1 :green_heart: javac 0m 51s the patch passed
+1 :green_heart: whitespace 0m 0s The patch has no whitespace issues.
+1 :green_heart: xml 0m 3s The patch has no ill-formed XML file.
+1 :green_heart: spotless 0m 12s patch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 49s the patch passed
_ Other Tests _
+1 :green_heart: unit 8m 20s root in the patch passed.
17m 17s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase-connectors/pull/132
Optional Tests dupname javac javadoc unit spotless xml compile
uname Linux 7c93e945b9cd 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 GNU/Linux
Build tool hb_maven
Personality dev-support/jenkins/hbase-personality.sh
git revision master / 1498a91
Default Java Oracle Corporation-1.8.0_282-b08
Test Results https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/1/testReport/
Max. process+thread count 942 (vs. ulimit of 12500)
modules C: spark spark/hbase-spark spark/hbase-spark-it . U: .
Console output https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/1/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Aug 17 '24 11:08 Apache-HBase

Hi @Reidddddd would you be able to review this one?

NihalJain avatar Sep 23 '24 06:09 NihalJain

Can you also update the Jenkinsfile with additional stages so that we test builds on all the supported JVM major versions?

ndimiduk avatar Sep 23 '24 16:09 ndimiduk

That is, I assume that this commit does not also deprecate the JDK11 (and JDK8?) support.

ndimiduk avatar Sep 23 '24 16:09 ndimiduk

Hi @ndimiduk thank you for having a look at this one.

Can you also update the Jenkinsfile with additional stages so that we test builds on all the supported JVM major versions?

Sure I had created a sub task to handle the build part: HBASE-28789. But I could update the current PR as well to take care of same. Let me know how I should proceed.

That is, I assume that this commit does not also deprecate the JDK11 (and JDK8?) support.

Yes it does not deprecate JDK8 support.

NihalJain avatar Sep 23 '24 16:09 NihalJain

Ah okay. Sorry, I only looked at the PR, not Jira.

Yes, I think it would be nice if it all happened together because then the new pre-commit checker will verify the code before it lands in the repo. Only if one or the other change ends up being too big for reviews to be practical would I separate them.

ndimiduk avatar Sep 23 '24 17:09 ndimiduk

Yes, I think it would be nice if it all happened together because then the new pre-commit checker will verify the code before it lands in the repo.

Sure let me work and update this PR with Jenkins related changes as well.

NihalJain avatar Sep 24 '24 08:09 NihalJain

Care to rebase this @NihalJain ?

stoty avatar May 15 '25 08:05 stoty

Care to rebase this @NihalJain ?

Sure @stoty

NihalJain avatar May 15 '25 13:05 NihalJain

:confetti_ball: +1 overall

Vote Subsystem Runtime Comment
+0 :ok: reexec 1m 7s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 0s No case conflicting files found.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
-0 :warning: 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.
_ master Compile Tests _
+0 :ok: mvndep 0m 31s Maven dependency ordering for branch
+1 :green_heart: mvninstall 1m 27s master passed
+1 :green_heart: compile 0m 55s master passed
+1 :green_heart: spotless 0m 13s branch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 55s master passed
_ Patch Compile Tests _
+0 :ok: mvndep 0m 7s Maven dependency ordering for patch
+1 :green_heart: mvninstall 1m 19s the patch passed
+1 :green_heart: compile 0m 58s the patch passed
+1 :green_heart: javac 0m 58s the patch passed
+1 :green_heart: whitespace 0m 0s The patch has no whitespace issues.
+1 :green_heart: xml 0m 2s The patch has no ill-formed XML file.
+1 :green_heart: spotless 0m 11s patch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 55s the patch passed
_ Other Tests _
+1 :green_heart: unit 9m 2s root in the patch passed.
18m 44s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/2/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase-connectors/pull/132
Optional Tests dupname javac javadoc unit spotless xml compile
uname Linux fdba7b2d2d8a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 GNU/Linux
Build tool hb_maven
Personality dev-support/jenkins/hbase-personality.sh
git revision master / 800161e
Default Java Oracle Corporation-1.8.0_282-b08
Test Results https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/2/testReport/
Max. process+thread count 964 (vs. ulimit of 12500)
modules C: spark/hbase-spark spark/hbase-spark-it . U: .
Console output https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/2/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar May 15 '25 16:05 Apache-HBase

:broken_heart: -1 overall

Vote Subsystem Runtime Comment
+0 :ok: reexec 0m 28s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 0s No case conflicting files found.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
-0 :warning: 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.
_ master Compile Tests _
+0 :ok: mvndep 0m 30s Maven dependency ordering for branch
+1 :green_heart: mvninstall 1m 29s master passed
+1 :green_heart: compile 0m 55s master passed
+1 :green_heart: spotless 0m 14s branch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 54s master passed
_ Patch Compile Tests _
+0 :ok: mvndep 0m 2s Maven dependency ordering for patch
-1 :x: mvninstall 0m 3s root in the patch failed.
-1 :x: compile 0m 3s root in the patch failed.
-1 :x: javac 0m 3s root in the patch failed.
+1 :green_heart: whitespace 0m 0s The patch has no whitespace issues.
-1 :x: xml 0m 2s The patch has 1 ill-formed XML file(s).
-1 :x: spotless 0m 1s patch has 12 errors when running spotless:check, run spotless:apply to fix.
-1 :x: javadoc 0m 4s root in the patch failed.
_ Other Tests _
-1 :x: unit 0m 3s root in the patch failed.
5m 48s
Reason Tests
XML Parsing Error(s):
pom.xml
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase-connectors/pull/132
Optional Tests dupname javac javadoc unit spotless xml compile
uname Linux f3e31f790d76 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 GNU/Linux
Build tool hb_maven
Personality dev-support/jenkins/hbase-personality.sh
git revision master / 800161e
Default Java Oracle Corporation-1.8.0_282-b08
mvninstall https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/patch-mvninstall-root.txt
compile https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/patch-compile-root.txt
javac https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/patch-compile-root.txt
xml https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/xml.txt
spotless https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/patch-spotless.txt
javadoc https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/patch-javadoc-root.txt
unit https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/artifact/yetus-precommit-check/output/patch-unit-root.txt
Test Results https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/testReport/
Max. process+thread count 44 (vs. ulimit of 12500)
modules C: . spark/hbase-spark spark/hbase-spark-it U: .
Console output https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/3/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar May 15 '25 16:05 Apache-HBase

:confetti_ball: +1 overall

Vote Subsystem Runtime Comment
+0 :ok: reexec 0m 31s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 0s No case conflicting files found.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
-0 :warning: 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.
_ master Compile Tests _
+0 :ok: mvndep 0m 31s Maven dependency ordering for branch
+1 :green_heart: mvninstall 1m 39s master passed
+1 :green_heart: compile 1m 1s master passed
+1 :green_heart: spotless 0m 16s branch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 57s master passed
_ Patch Compile Tests _
+0 :ok: mvndep 0m 7s Maven dependency ordering for patch
+1 :green_heart: mvninstall 0m 51s the patch passed
+1 :green_heart: compile 0m 55s the patch passed
+1 :green_heart: javac 0m 55s the patch passed
+1 :green_heart: whitespace 0m 0s The patch has no whitespace issues.
+1 :green_heart: xml 0m 2s The patch has no ill-formed XML file.
+1 :green_heart: spotless 0m 11s patch has no errors when running spotless:check.
+1 :green_heart: javadoc 0m 53s the patch passed
_ Other Tests _
+1 :green_heart: unit 9m 2s root in the patch passed.
17m 59s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/4/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase-connectors/pull/132
Optional Tests dupname javac javadoc unit spotless xml compile
uname Linux aa03f8ba036e 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 GNU/Linux
Build tool hb_maven
Personality dev-support/jenkins/hbase-personality.sh
git revision master / 800161e
Default Java Oracle Corporation-1.8.0_282-b08
Test Results https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/4/testReport/
Max. process+thread count 972 (vs. ulimit of 12500)
modules C: spark spark/hbase-spark spark/hbase-spark-it . U: .
Console output https://ci-hbase.apache.org/job/HBase-Connectors-PreCommit/job/PR-132/4/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar May 15 '25 17:05 Apache-HBase

Sorry for the noise. I messed up by rebasing and pushing an older version of this PR in another local fork of mine.

I have run build with JDK 17 in local. Works fine. Screenshot 2025-05-15 at 11 15 54 PM

For Nick's comment I would prefer to do this as another commit (of course if this is fine for everyone). Also maybe it's time we try to move to Github actions for build taking hbase-connectors project as PoC.

NihalJain avatar May 15 '25 17:05 NihalJain