[go: up one dir, main page]

Page MenuHomePhabricator

EPIC: Update flink jobs to support Flink 1.20
Open, MediumPublic

Description

DE and Search flink jobs should be upgraded to flink 1.20, most of them are currently running 1.17 which is no longer supported.

This is the parent task to coordinate the effort in this upgrade, the affected components should be:

  • T377137 the flink-k8s-operator that might be updated to a new version that supports flink 1.20
  • T377130 wikimedia-eventutilities should be upgraded to something that supports 1.20
  • T374359 eventutilities_python
  • T377134 operations/docker-images/production-images to build a flink 1.20 image
  • Search jobs
    • wdqs streaming updater
    • cirrus streaming updater
  • DE jobs
    • mw-page-content-change-enrich
    • mw-dump-rev-content-reconcile-enrich

Event Timeline

Change #1079506 had a related patch set uploaded (by Gmodena; author: Gmodena):

[wikimedia-event-utilities@master] WIP: flink version bump.

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

F/up from a conversation in slack with @dcausse.

Last Friday, I time-boxed some grooming. What I found so far is that flink-connector-kafka does not compile yet against 1.20: https://issues.apache.org/jira/browse/FLINK-35109. For the time being, we have decided to target 1.19.

I took a stab at updating to 1.19 (see the CR linked to this task), and there’s no significant API change from what I can tell—only some minor refactoring of utility classes used in tests.

There's some classpath iffyness that I was not resolve yet:

[ERROR] Errors: 
[ERROR]   TestEventRowSerializer.testSchemaCompatibility:100 » NoSuchMethod org.apache.flink.api.common.typeutils.CompositeTypeSerializerUtil.constructIntermediateCompatibilityResult([Lorg/apache/flink/api/common/typeutils/TypeSerializer;[Lorg/apache/flink/api/common/typeutils/TypeSerializerSnapshot;)Lorg/apache/flink/api/common/typeutils/CompositeTypeSerializerUtil$IntermediateCompatibilityResult;
[ERROR]   TestJsonRowDeserializationSchema.testJsonParse(TestSpec) » NoSuchMethod org.junit.platform.commons.util.ClassLoaderUtils.getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader;
[INFO] 
[ERROR] Tests run: 95, Failures: 0, Errors: 2, Skipped: 1
`

@dcausse I'm not sure how you'd like to organize the work, but perhaps we can create a dedicated subtask for the wikimedia-event-utilities version bump?

@dcausse I'm not sure how you'd like to organize the work, but perhaps we can create a dedicated subtask for the wikimedia-event-utilities version bump?

Agreed, might be clearer to have substasks for this, filed T377130 for this. Do you have some time to dig a bit more into this classpath issue? If not @pfischer or myself could possibly take a closer look this week?

dcausse renamed this task from EPIC: Update flink jobs to support Flink 1.20 to EPIC: Update flink jobs to support Flink 1.19.Oct 14 2024, 12:57 PM
dcausse updated the task description. (Show Details)
Gehel triaged this task as Medium priority.Oct 14 2024, 3:18 PM

@dcausse I'm not sure how you'd like to organize the work, but perhaps we can create a dedicated subtask for the wikimedia-event-utilities version bump?

Agreed, might be clearer to have substasks for this, filed T377130 for this. Do you have some time to dig a bit more into this classpath issue? If not @pfischer or myself could possibly take a closer look this week?

Sorry, I missed this comment! I was able to fix all classpath issues in the CR attached to {T377130: Bump eventutilities to support flink 1.20}

Last friday, flink-connector-kafka 3.3.0 was released with support to Flink 1.20. I think we should be able to target 1.20 instead of 1.19.
Some details in https://phabricator.wikimedia.org/T377130#10241164

@dcausse I'm not sure how you'd like to organize the work, but perhaps we can create a dedicated subtask for the wikimedia-event-utilities version bump?

Agreed, might be clearer to have substasks for this, filed T377130 for this. Do you have some time to dig a bit more into this classpath issue? If not @pfischer or myself could possibly take a closer look this week?

Sorry, I missed this comment! I was able to fix all classpath issues in the CR attached to {T377130: Bump eventutilities to support flink 1.20}

thanks!

Last friday, flink-connector-kafka 3.3.0 was released with support to Flink 1.20. I think we should be able to target 1.20 instead of 1.19.
Some details in https://phabricator.wikimedia.org/T377130#10241164

this is great news, the k8s operator 1.10 is about to be released and has official support for 1.19 but seems to have some support for 1.20 (https://github.com/apache/flink-kubernetes-operator/pull/869) hopefully we should be able to run flink 1.20 "soonish", will update the task accordingly.

dcausse renamed this task from EPIC: Update flink jobs to support Flink 1.19 to EPIC: Update flink jobs to support Flink 1.20.Oct 22 2024, 1:35 PM
dcausse updated the task description. (Show Details)

Change #1079506 merged by jenkins-bot:

[wikimedia-event-utilities@master] eventutilities-flink: version bump flink to 1.20

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

Change #1090430 had a related patch set uploaded (by TChin; author: TChin):

[operations/deployment-charts@master] flink-app: Add default checkpointing config for Flink 1.20

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