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

Extend CompositeTypeSerializerSnapshot to allow composite serializers to signal migration based on outer configuration

    XMLWordPrintableJSON

    Details

    • Release Note:
      Hide
      The `boolean isOuterSnapshotCompatible(TypeSerializer)` on the `CompositeTypeSerializerSnapshot` class has been deprecated, in favor of a new `OuterSchemaCompatibility resolveOuterSchemaCompatibility(TypeSerializer)` method. Please implement that instead. Compared to the old method, the new method allows composite serializers to signal state schema migration based on outer schema and configuration.
      Show
      The `boolean isOuterSnapshotCompatible(TypeSerializer)` on the `CompositeTypeSerializerSnapshot` class has been deprecated, in favor of a new `OuterSchemaCompatibility resolveOuterSchemaCompatibility(TypeSerializer)` method. Please implement that instead. Compared to the old method, the new method allows composite serializers to signal state schema migration based on outer schema and configuration.

      Description

      Compatibility of composite serializers is governed by the overall resolved compatibility of all its nested serializers, as well as any additional configuration (or what we call the "outer configuration" or "outer snapshot").

      The compatibility resolution logic for these composite serializers is implemented in the CompositeTypeSerializerSnapshot abstract class.

      One current limitation of this base class is that the implementation assumes that the outer configuration is always either compatible, or incompatible.

      We should relax this to also allow signaling migration, purely based on the outer configuration. This is already a requirement by FLINK-16998.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tzulitai Tzu-Li (Gordon) Tai
                Reporter:
                tzulitai Tzu-Li (Gordon) Tai
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: