You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Weiqing Yang (Jira)" <ji...@apache.org> on 2026/10/09 18:39:00 UTC

[jira] [Updated] (FLINK-40299) Add end-to-end state migration coverage and user documentation for RowData schema evolution

     [ https://issues.apache.org/jira/browse/FLINK-40299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Weiqing Yang updated FLINK-40299:
---------------------------------
    Summary: Add end-to-end state migration coverage and user documentation for RowData schema evolution  (was: Add end-to-end state migration tests for RowData schema evolution)

> Add end-to-end state migration coverage and user documentation for RowData schema evolution
> -------------------------------------------------------------------------------------------
>
>                 Key: FLINK-40299
>                 URL: https://issues.apache.org/jira/browse/FLINK-40299
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table SQL / Runtime
>            Reporter: Weiqing Yang
>            Assignee: Weiqing Yang
>            Priority: Major
>
> Adds coverage that exercises the full restore path on RocksDB rather than the serializer snapshot in isolation, in the module that sees both the state backend and RowData.
> Cases:
>   * A nullable field added to ValueState<RowData>, option enabled: state restores, existing values intact, the new field null.
>   * The same change with the option disabled: restore is rejected.
>   * The same change with state TTL enabled: values migrate correctly and TTL timestamps are preserved.
>   * State shaped like an interval join buffer (RowData below List and Tuple serializers): restore is rejected rather than migrated.
> The last two matter most. TTL is the one case where a RowData serializer is both opted in and wrapped in a composite, so its correctness rests on the TTL-aware migration path rather than on structure. The interval-join case is the fail-closed guarantee: migration is not propagated into nested serializers by composite snapshots, so that shape must be rejected rather than silently mis-migrated.
> Depends on FLINK-40298.
> FLIP-527: https://cwiki.apache.org/confluence/spaces/FLINK/pages/353601981/FLIP-527+State+Schema+Evolution+for+RowData



--
This message was sent by Atlassian Jira
(v8.20.10#820010)