KAFKA-20857: Use Java 25 in Docker images - #23063
Conversation
Generated-by: OpenAI Codex (GPT-5) Signed-off-by: Yunseop Eom <62834176+lh0156@users.noreply.github.com>
| # limitations under the License. | ||
|
|
||
| FROM ghcr.io/graalvm/graalvm-community:21 AS build-native-image | ||
| FROM ghcr.io/graalvm/graalvm-community:25 AS build-native-image |
There was a problem hiding this comment.
GraalVM community has moved to new release scheme delivering CPU only with feature releases. Current one has tag 25i2 which can be viewed in https://github.com/graalvm/container/pkgs/container/graalvm-community and is equivalent of https://github.com/graalvm/graalvm-ce-builds/releases/tag/graal-25.2.4
OpenJDK LTS support equivalent to GraalVM EE by Oracle will be only available from mandrel project https://github.com/graalvm/mandrel but they lag behind with release times and I'm not sure of they publish ready to use Docker images.
Current ghcr.io/graalvm/graalvm-community:25 is 6 months old already (missing 2 CPU releases). It is not a great option to have.
There was a problem hiding this comment.
It seems Mandrel images are only published to Quay https://groups.google.com/g/quarkus-dev/c/Cs-9VKrASbI?pli=1 and are heavily leaning toward RHEL runtimes, so, it should be checked if they are suitable to be used as a replacement as is.
There was a problem hiding this comment.
Addressed in e348eae.
- Updated the native build image from
ghcr.io/graalvm/graalvm-community:25to25i2, the current JDK 25.0.4 CPU-release tag available for both linux/amd64 and linux/arm64. - Updated the native-image documentation link from the JDK 21-specific page to GraalVM's version-neutral page.
- The RED regression assertion reproduced the stale
:25tag; the GREEN assertion passes after the change, andgit diff --checkpasses.
A local Docker build check could not resolve registry metadata because this environment lacks docker-credential-desktop; the public GHCR manifest was verified directly.
Use the current GraalVM 25i2 image for native builds so the base image tracks the latest JDK 25 CPU release. Keep the native-image documentation link version-neutral. Generated-by: OpenAI Codex (GPT-5) Signed-off-by: Yunseop Eom <62834176+lh0156@users.noreply.github.com>
What
Update the JVM and native Docker build images to Java 25, the latest LTS supported by Kafka.
Testing
./gradlew releaseTarGz --no-build-cache --console=plainkafka.jsaandstorage.jsawere produced.kafka-topics.sh --version->4.4.0-SNAPSHOT.kafka.Kafka --help.bash -n docker/jvm/jsa_launch docker/native/native_command.shgit diff --checkThis change does not modify Kafka APIs, protocols, or configuration semantics, so no KIP is required.
Reviewers: Arthur S (github:arixmkii)