Page MenuHomePhabricator

Eventutilities Flink: port SerDe tests from SUP
Open, HighPublic3 Estimated Story Points

Description

This is a follow-up of T372912

hit by a nasty problem where after upgrading to flink-1.20 we forgot to update eventutilities to 1.4, this caused the RowSerializer to be used in the flink state and the job to fail upgrading. Reason is that the createSerializer function has changed its signature and running flink 1.20 without the new version of EventRowTypeInfo in 1.4 flink called the parent class RowTypeInfo that returns a RowSerializer. This is particularly fragile and we should probably stop extending RowTypeInfo.

As discussed by the SIG on 24.09.25, we want to prevent this by porting the backwards compatibility tests for snapshots (and their serialisers) from SUP to eventutilities. As an additional layer of safety, SUP (and other consumers of eventutilities) should enforce compatibility at dependency resolution level, for example, by using enforcer, see T405591.

Event Timeline

@Ottomata, we were hit by a breaking change in Flink's API when upgrading to 1.20. In order to make our code more resilient, @dcausse suggested we should stop relying on RowTypeInfo for (de-)serialisation. Since most of the related code is part of eventutilities, I would appreciate your feedback regarding that approach.

Let's chat! I think I need more context.

pfischer renamed this task from SUP: Serde w/o RowTypeInfo to Eventutilities Flink: port SerDe tests from SUP.Sep 25 2025, 2:07 PM
pfischer updated the task description. (Show Details)
pfischer set the point value for this task to 3.

Change #1206933 had a related patch set uploaded (by DCausse; author: DCausse):

[wikimedia-event-utilities@master] flink: Add snapshot tests

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

Change #1206934 had a related patch set uploaded (by DCausse; author: DCausse):

[wikimedia-event-utilities@master] flink: test schema evolution

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

Change #1206933 merged by jenkins-bot:

[wikimedia-event-utilities@master] flink: Add snapshot tests

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

Change #1206934 merged by jenkins-bot:

[wikimedia-event-utilities@master] flink: test schema evolution

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