You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Yun Tang (Jira)" <ji...@apache.org> on 2022/04/18 02:43:00 UTC

[jira] [Assigned] (FLINK-27218) Serializer in OperatorState has not been updated when new Serializers are NOT incompatible

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

Yun Tang reassigned FLINK-27218:
--------------------------------

    Assignee: Yue Ma

> Serializer in OperatorState has not been updated when new Serializers are NOT incompatible
> ------------------------------------------------------------------------------------------
>
>                 Key: FLINK-27218
>                 URL: https://issues.apache.org/jira/browse/FLINK-27218
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / State Backends
>    Affects Versions: 1.15.1
>            Reporter: Yue Ma
>            Assignee: Yue Ma
>            Priority: Major
>         Attachments: image-2022-04-13-14-50-10-921.png
>
>
> OperatorState such as *BroadcastState* or *PartitionableListState*  can only be constructed via {*}DefaultOperatorStateBackend{*}. But when *BroadcastState* or *PartitionableListState* Serializer changes after we restart the job , it seems to have the following problems .
> As an example, we can see how PartitionableListState is initialized.
> First, RestoreOperation will construct a restored PartitionableListState based on the information in the snapshot.
> Then StateMetaInfo in partitionableListState will be updated  as the following code
> {code:java}
> TypeSerializerSchemaCompatibility<S> stateCompatibility =
>                 restoredPartitionableListStateMetaInfo.updatePartitionStateSerializer(newPartitionStateSerializer);
> partitionableListState.setStateMetaInfo(restoredPartitionableListStateMetaInfo);{code}
> The main problem is that there is also an *internalListCopySerializer* in *PartitionableListState* that is built using the previous Serializer and it has not been updated. 
> Therefore, when we update the StateMetaInfo, the *internalListCopySerializer* also needs to be updated.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)