Hi all,

I’d like to initiate a discussion about enhancing state schema evolution
support for RowData in Flink.

*Motivation*

Flink applications frequently need to evolve their state schema as business
requirements change. Currently, when users update a Table API or SQL job
with schema changes involving RowData types (particularly nested
structures), they encounter serialization compatibility errors during state
restoration, causing job failures.The issue occurs because existing state
migration mechanisms don't properly handle RowData types during schema
evolution, preventing users from making backward-compatible changes like:

   -

   Adding nullable fields to existing structures
   -

   Reordering fields within a row while preserving field names
   -

   Evolving nested row structures

This limitation impacts production applications using Flink's Table API, as
the RowData type is central to this interface. Users are forced to choose
between maintaining outdated schemas or reprocessing all state data when
schema changes are required.

Here’s the proposal document: Link
<https://docs.google.com/document/d/1WtAxp-jAVTLMOfWNldLCAoK137P0ZCMxR8hOZGcMxuc/edit?tab=t.0>
Your feedback and ideas are welcome to refine this feature.

Thanks,
Weiqing

Reply via email to