HBASE-30354 Add JDK 21 nightly checks - #8601
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
The new stage consistently mirrors JDK 17, and the pinned JDK 21 asset and checksum are valid.
Pull request overview
Adds Java 21 coverage to HBase’s nightly Hadoop 3 CI matrix.
Changes:
- Installs pinned Temurin JDK 21 in the CI image.
- Adds JDK 21 nightly execution, reporting, and result aggregation.
File summaries
| File | Description |
|---|---|
dev-support/Jenkinsfile |
Adds the JDK 21 nightly stage and reporting. |
dev-support/docker/Dockerfile |
Downloads, verifies, and installs Temurin 21. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Overall LGTM. You'd better create a branch on the asf repo, and create modify the jenkins job to include this branch to test the new jenkinsfile. Thanks. |
|
Thanks, let me try that. |
|
This one's a real failure: I'll address that in a separate issue. |
|
Opened this PR to remove unnecessary reflection incompatible with Java 21. Please take a look: |
Nightly runs jdk8-hadoop2, jdk8-hadoop3, jdk11-hadoop3 and jdk17-hadoop3. Nothing exercises Java 21, so the work under HBASE-29546 has no CI signal and the support matrix cannot move past JDK 17. - Add Temurin 21.0.12.1+1 to the CI image, pinned by URL and sha256, linked at /usr/lib/jvm/java-21 alongside the existing 8, 11 and 17 - Clone the jdk17 hadoop3 stage as jdk21 hadoop3, with its stash, cleanup, unstash, comment entry and HTML report Nightly only for now. Precommit can follow once the axis has been green.
98519d8 to
840cb1e
Compare
Merged and rebased. I'll test the nightly build again. |
Jira: HBASE-30354
Nightly runs jdk8-hadoop2, jdk8-hadoop3, jdk11-hadoop3 and jdk17-hadoop3. Nothing exercises Java 21, so the work under HBASE-29546 has no CI signal and the support matrix cannot move past JDK 17.
Nightly only for now. Precommit can follow once the axis has been green.
Worth noting for reviewers: precommit does not run the nightly pipeline, so green checks here say nothing about whether the new stage works. The first real test is the next nightly run on master after this merges.
What I could verify is that it parses against the plugin versions our own Jenkins runs, using the declarative linter it exposes:
curl -X POST -F "jenkinsfile=<dev-support/Jenkinsfile" \ https://ci-hbase.apache.org/pipeline-model-converter/validateJenkinsfile successfully validated.for this patch. That is syntax only though.