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

    • 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

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

              Dates

                Created:
                Updated:
                Resolved: