Details

    Description

      ChangelogKeyedStateBackend.getOrCreateKeyedState is currently used during recovery; on 1st user access, it doesn't update metadata nor migrate state (as opposed to other backends).

       

      The proposed solution is to

      1. wrap serializers (and maybe other objects) in getOrCreateKeyedState
      2. store wrapping objects in a new map keyed by state name
      3. pass wrapped objects to delegatedBackend.createInternalState
      4. on 1st user access, lookup wrapper and upgrade its wrapped serializer

      This should be done for both KV/PQ states.

       

      See also https://github.com/apache/flink/pull/15420#discussion_r656934791

       

      cc: yunta

      Attachments

        Issue Links

          Activity

            People

              masteryhx Hangxiang Yu
              roman Roman Khachatryan
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: