Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-6801

PojoSerializerConfigSnapshot cannot deal with missing Pojo fields

    Details

      Description

      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.

        Activity

        Hide
        tzulitai Tzu-Li (Gordon) Tai added a comment -

        Fixed for 1.3.1 via 8a0276af6f65814d945bef1372c199f96f265bb5.
        Fixed for master via ae285f9bd5398fe4d8d86eb3207bbc5beb8a24c8.

        Show
        tzulitai Tzu-Li (Gordon) Tai added a comment - Fixed for 1.3.1 via 8a0276af6f65814d945bef1372c199f96f265bb5. Fixed for master via ae285f9bd5398fe4d8d86eb3207bbc5beb8a24c8.

          People

          • Assignee:
            tzulitai Tzu-Li (Gordon) Tai
            Reporter:
            till.rohrmann Till Rohrmann
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development