Page MenuHomePhabricator

Support for Java 21 and Flink 2
Closed, ResolvedPublic

Description

Related to migrating Pyflink to Java and a new HTML enrichment pipeline, we are starting with a new setup of Java & Flink and we would like to take the opportunity to do it in the latest versions, rather than needing to migrate in the future.

Right now, Java 17 and Flink 1.2 are supported, but we don't have the tools to develop in Java 21 and Flink 2.

We need to at least prepare the following:

Task is done if we can deploy Flink pipelines on Flink 2 with Java 21.

Related Objects

Event Timeline

Change #1219178 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[integration/config@master] component: dockerfiles

https://gerrit.wikimedia.org/r/1219178

Change #1219184 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[integration/config@master] component: dockerfiles

https://gerrit.wikimedia.org/r/1219184

Change #1219178 merged by jenkins-bot:

[integration/config@master] dockerfiles: Add java25 image

https://gerrit.wikimedia.org/r/1219178

Change #1219184 merged by jenkins-bot:

[integration/config@master] dockerfiles: Add maven-java25

https://gerrit.wikimedia.org/r/1219184

Change #1285540 had a related patch set uploaded (by Brouberol; author: Brouberol):

[operations/docker-images/production-images@master] flink: build the flink 2.0.0 image

https://gerrit.wikimedia.org/r/1285540

Change #1285540 merged by Brouberol:

[operations/docker-images/production-images@master] flink: build the flink 2.0.0 image

https://gerrit.wikimedia.org/r/1285540

Change #1285540 merged by Brouberol [...] flink: build the flink 2.0.0 image

😍

Change #1285845 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[wikimedia-event-utilities@master] jvm: eventutilitites-flink

https://gerrit.wikimedia.org/r/1285845

Change #1285845 merged by jenkins-bot:

[wikimedia-event-utilities@master] jvm: eventutilitites-flink

https://gerrit.wikimedia.org/r/1285845

Change #1289278 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[operations/docker-images/production-images@master] image: Flink 2

https://gerrit.wikimedia.org/r/1289278

Change #1289278 merged by Brouberol:

[operations/docker-images/production-images@master] image: Flink 2

https://gerrit.wikimedia.org/r/1289278

So far everything is working with Flink 2.0.2 and Java 25, docker images are built and tests are passing, but we haven't tested a real deployment in K8s yet.

This may be a big concern: https://issues.apache.org/jira/browse/FLINK-37719

Change #1290822 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[operations/deployment-charts@master] stream: webrequest-page-view-next

https://gerrit.wikimedia.org/r/1290822

Change #1290822 merged by jenkins-bot:

[operations/deployment-charts@master] stream: webrequest-page-view-next

https://gerrit.wikimedia.org/r/1290822

Change #1293664 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[operations/docker-images/production-images@master] image: Flink 2

https://gerrit.wikimedia.org/r/1293664

Notes about apache-flink==2.0.2 bot working on python3.13 on trixie.

Change #1293758 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[integration/config@master] images: maven-21

https://gerrit.wikimedia.org/r/1293758

We've exploring how to build an image with Flink 2.0.2 and Java 25 and we've been having some issues. The Java 25 base image is based on Trixie, it needs a few changes in our docker template, but the Python setup is broken and fails for PyFlink.
We've considered backporting Java 25 to bookworm, but it isn't currently available on our packages. We've considered copying Python 3.11 from Bookworm to Trixie too, but it needs a lot of changes, and still, we may find future issues with Java 25 and Flink.

We are moving now to use Java 21 with Flink 2.0.2. The docker image we can build it using Bookworm as we already have the package available, and it won't break PyFlink.

Change #1293664 merged by Atsuko:

[operations/docker-images/production-images@master] image: Flink 2

https://gerrit.wikimedia.org/r/1293664

Change #1294993 had a related patch set uploaded (by JavierMonton; author: JavierMonton):

[wikimedia-event-utilities@master] eventutilitites-flink: Remove deprecated classes

https://gerrit.wikimedia.org/r/1294993

JMonton-WMF renamed this task from Support for Java 25 and Flink 2 to Support for Java 21 and Flink 2.May 28 2026, 1:47 PM
JMonton-WMF updated the task description. (Show Details)

Change #1294993 merged by jenkins-bot:

[wikimedia-event-utilities@master] eventutilitites-flink: Remove deprecated classes

https://gerrit.wikimedia.org/r/1294993

Change #1295860 had a related patch set uploaded (by Atsuko; author: Atsuko):

[operations/docker-images/production-images@master] flink: updating control to jdk21

https://gerrit.wikimedia.org/r/1295860

Change #1295860 merged by Atsuko:

[operations/docker-images/production-images@master] flink: updating control to jdk21

https://gerrit.wikimedia.org/r/1295860

Change #1293758 merged by jenkins-bot:

[integration/config@master] images: maven-21

https://gerrit.wikimedia.org/r/1293758

Mentioned in SAL (#wikimedia-releng) [2026-06-04T08:35:41Z] <hashar> Built Docker images docker-registry.wikimedia.org/releng/java21:0.1 and docker-registry.wikimedia.org/releng/maven-java21:0.1 # T412978

I have built the images:

docker-registry.wikimedia.org/releng/java21:0.1
docker-registry.wikimedia.org/releng/maven-java21:0.1

Which should now be usable in GitLab pipelines. Thank you very much @JMonton-WMF for the very detailed context you gave me on chat!