Skip to content

HBASE-29225 [hbase-thirdparty] Add module for Jetty 12 with EE8 and add support for toolchain based JDK selection - #142

Merged
NihalJain merged 13 commits into
apache:masterfrom
NihalJain:HBASE-29225
Jul 25, 2025
Merged

HBASE-29225 [hbase-thirdparty] Add module for Jetty 12 with EE8 and add support for toolchain based JDK selection#142
NihalJain merged 13 commits into
apache:masterfrom
NihalJain:HBASE-29225

Conversation

@NihalJain

@NihalJainNihalJain commented Jul 10, 2025

Copy link
Copy Markdown
Contributor

Part 1
First, we add a new set of modules which we will need for Jetty 12 migration. The code has been modularised into following modules:

  • hbase-shaded-jetty-12-plus-core
  • hbase-shaded-jetty-12-plus-ee8

So basically:

  • Branches which want to consume EE8 may need to add hbase-shaded-jetty-12-plus-core and hbase-shaded-jetty-12-plus-ee8 in their dependency replacing the former hbase-shaded-jetty
  • Branches which want to consume EE9/EE10 may need to add a new module for same in hbase-thirdparty in future

Part 2
Implement a maven toolchains-based build system to support both JDK 8 and JDK 17 compilation in a single branch with configurable setup:

  • Add toolchains plugin configuration for automatic JDK selection based on module requirements
  • Maintain JDK 8 requirement for hbase-unsafe and hbase-shaded-protobuf modules
  • Configure all other modules to use JDK 17 compilation with JDK 8 release target
  • Split maven-enforcer-plugin into separate profiles for JDK 8/JDK 17 bytecode validation
  • Add generate-toolchains.sh script for dynamic toolchains.xml generation with environment variable support
  • Support JAVA8_HOME/JAVA17_HOME environment variable configuration for local development
  • Add fallback auto-detection for Java installations at /usr/lib/jvm/java-8 and /usr/lib/jvm/java-17 (CI/Jenkins paths)
  • Add comprehensive documentation with local development setup commands and toolchain explanations

Part 3:
Fix Jenkins build failures by implementing Docker-based multi-JDK environment with automated toolchain management:

  • Add multi-stage Dockerfile with JDK 8 and JDK 17
  • Install JDKs at standardized paths (/usr/lib/jvm/java-8, /usr/lib/jvm/java-17) matching toolchain expectations
  • Create Maven wrapper that automatically passes -t dev-support/toolchains-jenkins.xml to all mvn invocations
  • Add pre-configured dev-support/toolchains-jenkins.xml with fixed JDK paths for Jenkins environment
  • Configure Jenkinsfile environment variables (JAVA8_HOME, JAVA17_HOME, SET_JAVA_HOME)
  • Update README documentation with comprehensive CI/Jenkins setup explanation

This resolves Jenkins build failures introduced by the toolchains-based build system (Part 2) by providing the required dual JDK environment and automatic toolchain configuration. Jenkins builds now work seamlessly with:

  • hbase-unsafe and hbase-shaded-protobuf using JDK 8
  • All other modules including Jetty 12 modules using JDK 17 with JDK 8 target
  • No manual toolchain configuration required in CI environment

Completes the three-part implementation enabling HBase 2.x (JDK 8 + Jetty 9) and HBase 3.x (JDK 17 + Jetty 12) support in a single branch.

…che#131)
This change adds a new set of modules which we will need for Jetty 12 migration. The code has been modularised into following modules:
- `hbase-shaded-jetty-12-plus-core`: Contains shaded jetty 12 core jars
- `hbase-shaded-jetty-12-plus-ee8`: Contains shaded jetty EE8 specific jars
So basically:
- Branches which want to consume EE8 may need to add `hbase-shaded-jetty-12-plus-core` and `hbase-shaded-jetty-12-plus-ee8` in their dependency replacing the former `hbase-shaded-jetty`
- Branches which want to consume EE9/EE10 may need to add a new module for same in `hbase-thirdparty` in future
Signed-off-by: Istvan Toth <stoty@apache.org>
…modules
Implement Maven toolchains-based build system to support both JDK 8
and JDK 17 compilation in a single release with configurable setup:
- Add toolchains plugin configuration for automatic JDK selection
- Configure Jetty 12 modules (hbase-shaded-jetty-12-plus-*) to use JDK 17
- Maintain JDK 8 compatibility for existing modules
- Split maven-enforcer-plugin into separate JDK 8/17 bytecode checks
- Add generate-toolchains.sh script for dynamic toolchains.xml generation
- Support JAVA8_HOME/JAVA17_HOME environment variable configuration
- Auto-detect Java installations at /usr/lib/jvm/java-8 and /usr/lib/jvm/java-17 for CI
- Force explicit environment variable setup for local development
- Remove dependency on ~/.m2/toolchains.xml for project-specific configuration
- Add documentation with setup commands and CI/local instructions
This allows HBase 2.x to continue using JDK 8 compatible Jetty 9 modules while HBase 3.x can leverage JDK 17 Jetty 12 modules, with seamless Jenkins/CI builds and clear local development setup, eliminating the need for separate branches or releases.
Comment threaddev-support/jenkins/Jenkinsfile Outdated
@NihalJain
NihalJain marked this pull request as draft July 10, 2025 15:17
@NihalJain

NihalJain commented Jul 10, 2025

Copy link
Copy Markdown
ContributorAuthor

Adds back reverted commit 6016e75 as is in first commit.
Also addresses HBASE-29354 i.e. #139

@NihalJain
NihalJain requested review from Apache9 and stotyJuly 10, 2025 15:25
@NihalJain

Copy link
Copy Markdown
ContributorAuthor

Hi reviewers, requesting you for early feedback here, before I move ahead with Jenkins integration.

Comment threaddev-support/jenkins/Jenkinsfile Outdated
Comment threaddev-support/jenkins/Jenkinsfile Outdated
@Apache-HBase

This comment was marked as outdated.

@Apache9Apache9 left a comment

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.

We only need to use JDK8 for compiling hbase-unsafe, for other modules, it is OK to use JDK17 to compile and set --release to 8.

Maybe we could set the default JDK version to 17, and use JDK8 for hbase-unsafe only.

@NihalJain

Copy link
Copy Markdown
ContributorAuthor

We only need to use JDK8 for compiling hbase-unsafe, for other modules, it is OK to use JDK17 to compile and set --release to 8.

Maybe we could set the default JDK version to 17, and use JDK8 for hbase-unsafe only.

Thank you Duo for the feedback, sounds good to me. Let me update PR with the suggestion!

Comment threadREADME.md
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

Comment threadpom.xml Outdated
Comment threadpom.xml Outdated
Comment threadpom.xml
Comment threadpom.xml Outdated
Comment threadpom.xml Outdated
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>${java.min.version}</maxJdkVersion>

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.

Should be 8 or 1.8?

Comment threadpom.xml Outdated
Comment threadpom.xml Outdated
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

Copy link
Copy Markdown

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/console in case of problems.

@NihalJain
NihalJain marked this pull request as ready for review July 22, 2025 08:39
@NihalJain

Copy link
Copy Markdown
ContributorAuthor

Code is ready for review. CC: @Apache9@stoty@ndimiduk@apurtell

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 36sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗shelldocs0m 0sShelldocs was not available.
+0 🆗hadolint0m 0shadolint was not available.
+0 🆗markdownlint0m 0smarkdownlint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
-0 ⚠️test4tests0m 0sThe 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 🆗mvndep0m 10sMaven dependency ordering for branch
-1 ❌mvninstall0m 58sroot in master failed.
-1 ❌compile0m 6shbase-unsafe in master failed.
-1 ❌compile0m 15sroot in master failed.
+1 💚javadoc0m 17smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 7sMaven dependency ordering for patch
+1 💚mvninstall1m 19sthe patch passed
+1 💚compile0m 45sthe patch passed
-1 ❌javac0m 12shbase-shaded-protobuf generated 19 new + 0 unchanged - 21 fixed = 19 total (was 21)
-1 ❌javac0m 6shbase-unsafe generated 8 new + 0 unchanged - 18 fixed = 8 total (was 18)
-1 ❌javac0m 16sroot generated 27 new + 0 unchanged - 39 fixed = 27 total (was 39)
+1 💚shellcheck0m 0sThere were no new shellcheck issues.
+1 💚whitespace0m 0sThe patch has no whitespace issues.
-1 ❌xml0m 1sThe patch has 6 ill-formed XML file(s).
+1 💚javadoc0m 26sthe patch passed
_ Other Tests _
+1 💚unit0m 10shbase-shaded-protobuf in the patch passed.
+1 💚unit0m 5shbase-shaded-jetty-12-plus-core in the patch passed.
+1 💚unit0m 5shbase-shaded-jetty-12-plus-ee8 in the patch passed.
+1 💚unit0m 7shbase-unsafe in the patch passed.
+1 💚unit0m 56sroot in the patch passed.
+1 💚asflicense0m 25sThe patch does not generate ASF License warnings.
7m 18s
ReasonTests
XMLParsing Error(s):
dev-support/toolchains-jenkins.xml
hbase-shaded-jetty-12-plus-core/pom.xml
hbase-shaded-jetty-12-plus-ee8/pom.xml
hbase-shaded-protobuf/pom.xml
hbase-unsafe/pom.xml
pom.xml
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR#142
Optional Testsdupname asflicense shellcheck shelldocs hadolint xml javac javadoc unit compile markdownlint
unameLinux d9b68afbc552 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
git revisionmaster / 1e93a44
Default JavaEclipse Adoptium-17.0.11+9
mvninstallhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt
compilehttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/branch-compile-hbase-unsafe.txt
compilehttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/branch-compile-root.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-shaded-protobuf.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-unsafe.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/diff-compile-javac-root.txt
xmlhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/xml.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/testReport/
Max. process+thread count418 (vs. ulimit of 1000)
modulesC: hbase-shaded-protobufhbase-shaded-jetty-12-plus-corehbase-shaded-jetty-12-plus-ee8hbase-unsafe . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/console
versionsgit=2.34.1 maven=file shellcheck=0.8.0
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@NihalJain
NihalJain requested a review from Apache9July 22, 2025 08:46
@NihalJain

Copy link
Copy Markdown
ContributorAuthor

XML not sure what is the problem.
TODO: Javac need to check!

@Apache-HBase

Copy link
Copy Markdown

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/console in case of problems.

@NihalJain

NihalJain commented Jul 22, 2025

Copy link
Copy Markdown
ContributorAuthor

TODO: Javac need to check!

Javac warnings are expected, not sure why we are seeing now. Was it not coming before w/o this change? Maybe because build fails for branch and so the diff?

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 30sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗shelldocs0m 0sShelldocs was not available.
+0 🆗hadolint0m 0shadolint was not available.
+0 🆗markdownlint0m 0smarkdownlint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
-0 ⚠️test4tests0m 0sThe 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 🆗mvndep0m 5sMaven dependency ordering for branch
-1 ❌mvninstall0m 37sroot in master failed.
-1 ❌compile0m 6shbase-unsafe in master failed.
-1 ❌compile0m 15sroot in master failed.
+1 💚javadoc0m 17smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 4sMaven dependency ordering for patch
+1 💚mvninstall1m 18sthe patch passed
+1 💚compile0m 45sthe patch passed
-1 ❌javac0m 11shbase-shaded-protobuf generated 19 new + 0 unchanged - 21 fixed = 19 total (was 21)
-1 ❌javac0m 7shbase-unsafe generated 8 new + 0 unchanged - 18 fixed = 8 total (was 18)
-1 ❌javac0m 16sroot generated 27 new + 0 unchanged - 39 fixed = 27 total (was 39)
+1 💚shellcheck0m 0sThere were no new shellcheck issues.
+1 💚whitespace0m 0sThe patch has no whitespace issues.
-1 ❌xml0m 1sThe patch has 6 ill-formed XML file(s).
+1 💚javadoc0m 26sthe patch passed
_ Other Tests _
+1 💚unit0m 11shbase-shaded-protobuf in the patch passed.
+1 💚unit0m 5shbase-shaded-jetty-12-plus-core in the patch passed.
+1 💚unit0m 5shbase-shaded-jetty-12-plus-ee8 in the patch passed.
+1 💚unit0m 6shbase-unsafe in the patch passed.
+1 💚unit0m 48sroot in the patch passed.
+1 💚asflicense0m 24sThe patch does not generate ASF License warnings.
6m 34s
ReasonTests
XMLParsing Error(s):
dev-support/toolchains-jenkins.xml
hbase-shaded-jetty-12-plus-core/pom.xml
hbase-shaded-jetty-12-plus-ee8/pom.xml
hbase-shaded-protobuf/pom.xml
hbase-unsafe/pom.xml
pom.xml
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR#142
Optional Testsdupname asflicense shellcheck shelldocs hadolint xml javac javadoc unit compile markdownlint
unameLinux e4a665868e12 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
git revisionmaster / 1e93a44
Default JavaEclipse Adoptium-17.0.11+9
mvninstallhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt
compilehttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/branch-compile-hbase-unsafe.txt
compilehttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/branch-compile-root.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-shaded-protobuf.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-unsafe.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/diff-compile-javac-root.txt
xmlhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/xml.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/testReport/
Max. process+thread count415 (vs. ulimit of 1000)
modulesC: hbase-shaded-protobufhbase-shaded-jetty-12-plus-corehbase-shaded-jetty-12-plus-ee8hbase-unsafe . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/console
versionsgit=2.34.1 maven=file shellcheck=0.8.0
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Comment threadpom.xml Outdated
Comment threadpom.xml
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>3.13.0</version>

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.

Then do we still need to set maven.compiler.source and maven.compiler.target?

<name>Apache HBase Patched and Relocated (Shaded) Protobuf</name>
<description>Pulls down protobuf, patches it, compiles, and then relocates/shades.</description>
<properties>
<!-- Override parent's JDK 17 settings to force JDK 8 for hbase-shaded-protobuf.

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.

So protobuf also uses Unsafe? What is the compile error you see?

Comment threadpom.xml
<compileSource>1.8</compileSource>
<java.min.version>${compileSource}</java.min.version>
<!-- Project level compilation properties -->
<hbase.unsafe.and.protobuf.java.version>1.8</hbase.unsafe.and.protobuf.java.version>

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Question: any better name suggestion?

@NihalJain
NihalJain requested a review from Apache9July 22, 2025 12:14
@Apache-HBase

Copy link
Copy Markdown

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/console in case of problems.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 32sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗shelldocs0m 0sShelldocs was not available.
+0 🆗hadolint0m 0shadolint was not available.
+0 🆗markdownlint0m 0smarkdownlint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
-0 ⚠️test4tests0m 0sThe 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 🆗mvndep0m 9sMaven dependency ordering for branch
-1 ❌mvninstall0m 56sroot in master failed.
-1 ❌compile0m 6shbase-unsafe in master failed.
-1 ❌compile0m 15sroot in master failed.
+1 💚javadoc0m 16smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 5sMaven dependency ordering for patch
+1 💚mvninstall1m 17sthe patch passed
+1 💚compile0m 45sthe patch passed
-1 ❌javac0m 12shbase-shaded-protobuf generated 19 new + 0 unchanged - 21 fixed = 19 total (was 21)
-1 ❌javac0m 7shbase-unsafe generated 8 new + 0 unchanged - 18 fixed = 8 total (was 18)
-1 ❌javac0m 15sroot generated 27 new + 0 unchanged - 39 fixed = 27 total (was 39)
+1 💚shellcheck0m 0sThere were no new shellcheck issues.
+1 💚whitespace0m 0sThe patch has no whitespace issues.
-1 ❌xml0m 0sThe patch has 6 ill-formed XML file(s).
+1 💚javadoc0m 27sthe patch passed
_ Other Tests _
+1 💚unit0m 11shbase-shaded-protobuf in the patch passed.
+1 💚unit0m 5shbase-shaded-jetty-12-plus-core in the patch passed.
+1 💚unit0m 5shbase-shaded-jetty-12-plus-ee8 in the patch passed.
+1 💚unit0m 7shbase-unsafe in the patch passed.
+1 💚unit0m 44sroot in the patch passed.
+1 💚asflicense0m 24sThe patch does not generate ASF License warnings.
6m 56s
ReasonTests
XMLParsing Error(s):
dev-support/toolchains-jenkins.xml
hbase-shaded-jetty-12-plus-core/pom.xml
hbase-shaded-jetty-12-plus-ee8/pom.xml
hbase-shaded-protobuf/pom.xml
hbase-unsafe/pom.xml
pom.xml
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR#142
Optional Testsdupname asflicense shellcheck shelldocs hadolint xml javac javadoc unit compile markdownlint
unameLinux b1657e36ec46 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
git revisionmaster / 1e93a44
Default JavaEclipse Adoptium-17.0.11+9
mvninstallhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt
compilehttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/branch-compile-hbase-unsafe.txt
compilehttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/branch-compile-root.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-shaded-protobuf.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-unsafe.txt
javachttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/diff-compile-javac-root.txt
xmlhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/xml.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/testReport/
Max. process+thread count416 (vs. ulimit of 1000)
modulesC: hbase-shaded-protobufhbase-shaded-jetty-12-plus-corehbase-shaded-jetty-12-plus-ee8hbase-unsafe . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/console
versionsgit=2.34.1 maven=file shellcheck=0.8.0
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9

Copy link
Copy Markdown
Contributor

What is our yetus version? In java 17 we do not have js script engine, IIRC we switch to use xmllint to check xml format in newer version of yetus.

@Apache9

Copy link
Copy Markdown
Contributor

And the javac output are all warnings, not sure why yetus report it as error...

@Apache9Apache9 left a comment

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'm OK with the current approach.

I think the failures can be fixed after upgrading yetus. Can be a separated issue.

Thanks @NihalJain for the hard work!

@PDavidPDavid left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Many thanks. 👍

Comment threaddev-support/jenkins/Dockerfile
@NihalJain

Copy link
Copy Markdown
ContributorAuthor

Thank you Duo and David for the approvals, will wait another day and merge this tomorrow.

@NihalJainNihalJain changed the title HBASE-29225 Add module for Jetty 12 with EE8 to hbase-thirdpartyHBASE-29225 [hbase-thirdparty] Add module for Jetty 12 with EE8 and add support for toolchain based JDK selectionJul 25, 2025
@NihalJain
NihalJain merged commit fd76b1e into apache:masterJul 25, 2025
1 check failed

# Script to generate toolchains.xml with configurable Java paths

# Set default paths if environment variables are not set

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.

This is great.
The release scripts should also be amended to to call this when releasing hbase-thirdparty
(assuming that the release script supports hbase-thirdparty)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Hi @stoty yes you are absolutely right, release script would need some patching to understanding toolchains. Will take this up as part of release process. Thanks for highlighting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Created HBASE-29490

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.

5 participants

@NihalJain@Apache-HBase@Apache9@stoty@PDavid