Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.19.0, 1.20.0, 1.19.1
Description
One can not restore from a savepoint taken in 1.18 using Flink 1.19 if a query uses e.g. LAG function on a MAP type.
The reason is LAG/LEAD/ARRAY_AGG and possibly other functions use RAW type for accumulator.
In https://github.com/apache/flink/blob/d4c9ef165874e665b9e0f70cfe80fc3d387ac58e/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/RowDataSerializer.java#L318 we deserialize/serialize types using java serialization which results in serializers being written into the snapshot.
In 1.19 https://github.com/apache/flink/blob/d4c9ef165874e665b9e0f70cfe80fc3d387ac58e/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/MapDataSerializer.java#L54 was modified resulting in a change in serialVersionUID
As a result we fail to restore savepoints with a serialVersionUID mismatch.