Skip to content

Conversation

@NihalJain
Copy link
Contributor

@NihalJain NihalJain commented Jul 10, 2025

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.
@NihalJain NihalJain marked this pull request as draft July 10, 2025 15:17
@NihalJain
Copy link
Contributor Author

NihalJain commented Jul 10, 2025

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

@NihalJain NihalJain requested review from Apache9 and stoty July 10, 2025 15:25
@NihalJain
Copy link
Contributor Author

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

@Apache-HBase

This comment was marked as outdated.

Copy link
Contributor

@Apache9 Apache9 left a comment

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
Contributor Author

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!

@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.

pom.xml Outdated
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>${java.min.version}</maxJdkVersion>
Copy link
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?

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase
Copy link

(!) 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
Contributor Author

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

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 36s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 hadolint 0m 0s hadolint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ 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 🆗 mvndep 0m 10s Maven dependency ordering for branch
-1 ❌ mvninstall 0m 58s root in master failed.
-1 ❌ compile 0m 6s hbase-unsafe in master failed.
-1 ❌ compile 0m 15s root in master failed.
+1 💚 javadoc 0m 17s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 7s Maven dependency ordering for patch
+1 💚 mvninstall 1m 19s the patch passed
+1 💚 compile 0m 45s the patch passed
-1 ❌ javac 0m 12s hbase-shaded-protobuf generated 19 new + 0 unchanged - 21 fixed = 19 total (was 21)
-1 ❌ javac 0m 6s hbase-unsafe generated 8 new + 0 unchanged - 18 fixed = 8 total (was 18)
-1 ❌ javac 0m 16s root generated 27 new + 0 unchanged - 39 fixed = 27 total (was 39)
+1 💚 shellcheck 0m 0s There were no new shellcheck issues.
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
-1 ❌ xml 0m 1s The patch has 6 ill-formed XML file(s).
+1 💚 javadoc 0m 26s the patch passed
_ Other Tests _
+1 💚 unit 0m 10s hbase-shaded-protobuf in the patch passed.
+1 💚 unit 0m 5s hbase-shaded-jetty-12-plus-core in the patch passed.
+1 💚 unit 0m 5s hbase-shaded-jetty-12-plus-ee8 in the patch passed.
+1 💚 unit 0m 7s hbase-unsafe in the patch passed.
+1 💚 unit 0m 56s root in the patch passed.
+1 💚 asflicense 0m 25s The patch does not generate ASF License warnings.
7m 18s
Reason Tests
XML Parsing 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
Subsystem Report/Notes
Docker ClientAPI=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 Tests dupname asflicense shellcheck shelldocs hadolint xml javac javadoc unit compile markdownlint
uname Linux 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 tool maven
git revision master / 1e93a44
Default Java Eclipse Adoptium-17.0.11+9
mvninstall https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt
compile https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/branch-compile-hbase-unsafe.txt
compile https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/branch-compile-root.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-shaded-protobuf.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-unsafe.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/diff-compile-javac-root.txt
xml https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/artifact/yetus-precommit-check/output/xml.txt
Test Results https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/testReport/
Max. process+thread count 418 (vs. ulimit of 1000)
modules C: hbase-shaded-protobuf hbase-shaded-jetty-12-plus-core hbase-shaded-jetty-12-plus-ee8 hbase-unsafe . U: .
Console output https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/52/console
versions git=2.34.1 maven=file shellcheck=0.8.0
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@NihalJain NihalJain requested a review from Apache9 July 22, 2025 08:46
@NihalJain
Copy link
Contributor Author

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

@Apache-HBase
Copy link

(!) 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
Copy link
Contributor Author

NihalJain commented Jul 22, 2025

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

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 30s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 hadolint 0m 0s hadolint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ 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 🆗 mvndep 0m 5s Maven dependency ordering for branch
-1 ❌ mvninstall 0m 37s root in master failed.
-1 ❌ compile 0m 6s hbase-unsafe in master failed.
-1 ❌ compile 0m 15s root in master failed.
+1 💚 javadoc 0m 17s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 4s Maven dependency ordering for patch
+1 💚 mvninstall 1m 18s the patch passed
+1 💚 compile 0m 45s the patch passed
-1 ❌ javac 0m 11s hbase-shaded-protobuf generated 19 new + 0 unchanged - 21 fixed = 19 total (was 21)
-1 ❌ javac 0m 7s hbase-unsafe generated 8 new + 0 unchanged - 18 fixed = 8 total (was 18)
-1 ❌ javac 0m 16s root generated 27 new + 0 unchanged - 39 fixed = 27 total (was 39)
+1 💚 shellcheck 0m 0s There were no new shellcheck issues.
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
-1 ❌ xml 0m 1s The patch has 6 ill-formed XML file(s).
+1 💚 javadoc 0m 26s the patch passed
_ Other Tests _
+1 💚 unit 0m 11s hbase-shaded-protobuf in the patch passed.
+1 💚 unit 0m 5s hbase-shaded-jetty-12-plus-core in the patch passed.
+1 💚 unit 0m 5s hbase-shaded-jetty-12-plus-ee8 in the patch passed.
+1 💚 unit 0m 6s hbase-unsafe in the patch passed.
+1 💚 unit 0m 48s root in the patch passed.
+1 💚 asflicense 0m 24s The patch does not generate ASF License warnings.
6m 34s
Reason Tests
XML Parsing 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
Subsystem Report/Notes
Docker ClientAPI=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 Tests dupname asflicense shellcheck shelldocs hadolint xml javac javadoc unit compile markdownlint
uname Linux 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 tool maven
git revision master / 1e93a44
Default Java Eclipse Adoptium-17.0.11+9
mvninstall https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt
compile https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/branch-compile-hbase-unsafe.txt
compile https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/branch-compile-root.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-shaded-protobuf.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-unsafe.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/diff-compile-javac-root.txt
xml https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/artifact/yetus-precommit-check/output/xml.txt
Test Results https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/testReport/
Max. process+thread count 415 (vs. ulimit of 1000)
modules C: hbase-shaded-protobuf hbase-shaded-jetty-12-plus-core hbase-shaded-jetty-12-plus-ee8 hbase-unsafe . U: .
Console output https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/53/console
versions git=2.34.1 maven=file shellcheck=0.8.0
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

<source>1.8</source>
<target>1.8</target>
</configuration>
<version>3.13.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.

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
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?

<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
Contributor Author

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 Apache9 July 22, 2025 12:14
@Apache-HBase
Copy link

(!) 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

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 32s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 hadolint 0m 0s hadolint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ 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 🆗 mvndep 0m 9s Maven dependency ordering for branch
-1 ❌ mvninstall 0m 56s root in master failed.
-1 ❌ compile 0m 6s hbase-unsafe in master failed.
-1 ❌ compile 0m 15s root in master failed.
+1 💚 javadoc 0m 16s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 5s Maven dependency ordering for patch
+1 💚 mvninstall 1m 17s the patch passed
+1 💚 compile 0m 45s the patch passed
-1 ❌ javac 0m 12s hbase-shaded-protobuf generated 19 new + 0 unchanged - 21 fixed = 19 total (was 21)
-1 ❌ javac 0m 7s hbase-unsafe generated 8 new + 0 unchanged - 18 fixed = 8 total (was 18)
-1 ❌ javac 0m 15s root generated 27 new + 0 unchanged - 39 fixed = 27 total (was 39)
+1 💚 shellcheck 0m 0s There were no new shellcheck issues.
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
-1 ❌ xml 0m 0s The patch has 6 ill-formed XML file(s).
+1 💚 javadoc 0m 27s the patch passed
_ Other Tests _
+1 💚 unit 0m 11s hbase-shaded-protobuf in the patch passed.
+1 💚 unit 0m 5s hbase-shaded-jetty-12-plus-core in the patch passed.
+1 💚 unit 0m 5s hbase-shaded-jetty-12-plus-ee8 in the patch passed.
+1 💚 unit 0m 7s hbase-unsafe in the patch passed.
+1 💚 unit 0m 44s root in the patch passed.
+1 💚 asflicense 0m 24s The patch does not generate ASF License warnings.
6m 56s
Reason Tests
XML Parsing 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
Subsystem Report/Notes
Docker ClientAPI=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 Tests dupname asflicense shellcheck shelldocs hadolint xml javac javadoc unit compile markdownlint
uname Linux 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 tool maven
git revision master / 1e93a44
Default Java Eclipse Adoptium-17.0.11+9
mvninstall https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt
compile https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/branch-compile-hbase-unsafe.txt
compile https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/branch-compile-root.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-shaded-protobuf.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/diff-compile-javac-hbase-unsafe.txt
javac https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/diff-compile-javac-root.txt
xml https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/artifact/yetus-precommit-check/output/xml.txt
Test Results https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/testReport/
Max. process+thread count 416 (vs. ulimit of 1000)
modules C: hbase-shaded-protobuf hbase-shaded-jetty-12-plus-core hbase-shaded-jetty-12-plus-ee8 hbase-unsafe . U: .
Console output https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-142/54/console
versions git=2.34.1 maven=file shellcheck=0.8.0
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9
Copy link
Contributor

Apache9 commented Jul 22, 2025

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
Contributor

Apache9 commented Jul 22, 2025

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

Copy link
Contributor

@Apache9 Apache9 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 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!

Copy link

@PDavid PDavid left a comment

Choose a reason for hiding this comment

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

Many thanks. 👍

@NihalJain
Copy link
Contributor Author

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

@NihalJain NihalJain changed the title HBASE-29225 Add module for Jetty 12 with EE8 to hbase-thirdparty HBASE-29225 [hbase-thirdparty] Add module for Jetty 12 with EE8 and add support for toolchain based JDK selection Jul 25, 2025
@NihalJain NihalJain merged commit fd76b1e into apache:master Jul 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
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
Contributor Author

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
Contributor Author

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 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.

5 participants