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

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

Till Rohrmann created FLINK-6801:
------------------------------------

             Summary: 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


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)