Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-9376 Allow upgrading to incompatible state serializers (state schema evolution)
  3. FLINK-6944

Introduce DefaultTypeSerializerConfigSnapshot as a base implementation for serializer compatibility checks

    XMLWordPrintableJSON

Details

    Description

      FLINK-9377 proposes to remove writing serializers as part of checkpoint meta info, and only write its configuration snapshot.

      Since then serializer config snapshots will be the single source of truth for previous serializer schema, this JIRA proposes to follow up the change in FLINK-9377 by having a base default implementation for letting TypeSerializer.snapshotConfiguration that returns a DefaultTypeSerializerConfigSnapshot.

      The DefaultTypeSerializerConfigSnapshot should wrap the serialVersionUID of the serializer class, and the serializer class' classname. The latter two will be used to check compatibility in the default implementation of TypeSerializer.ensureCompatibility. Specifically, if classname / serialVersionUID has changed, the default implementation of TypeSerializer.ensureCompatibility should return CompatibilityResult.requiresMigration.

      Attachments

        Activity

          People

            Unassigned Unassigned
            tzulitai Tzu-Li (Gordon) Tai
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: