You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Tzu-Li (Gordon) Tai (JIRA)" <ji...@apache.org> on 2017/06/01 14:30:04 UTC

[jira] [Assigned] (FLINK-6801) PojoSerializerConfigSnapshot cannot deal with missing Pojo fields

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

Tzu-Li (Gordon) Tai reassigned FLINK-6801:
------------------------------------------

    Assignee: Tzu-Li (Gordon) Tai

> PojoSerializerConfigSnapshot cannot deal with missing Pojo fields
> -----------------------------------------------------------------
>
>                 Key: FLINK-6801
>                 URL: https://issues.apache.org/jira/browse/FLINK-6801
>             Project: Flink
>          Issue Type: Bug
>          Components: Type Serialization System
>    Affects Versions: 1.3.0, 1.4.0
>            Reporter: Till Rohrmann
>            Assignee: Tzu-Li (Gordon) Tai
>
> The {{PojoSerializerConfigSnapshot}} tries to deserialize Pojo {{Fields}}. If the underlying Pojo class changed such that a formerly present field is not longer part of the Pojo, then the deserialization of the {{PojoSerializerConfigSnapshot}} will fail. As a consequence of this failure, there is no possibility to do state migration (e.g. skipping over this field when reading old data).
> I think it is better to simply store the field name in the {{PojoSerializerConfigSnapshot}} and try to resolve the fields in the {{PojoSerializer#ensureCompatibility}} method. That way it is possible to construct a ConvertDeserializer allowing for state migration.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)