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

Support MapState value schema evolution for RocksDB

    XMLWordPrintableJSON

Details

    Description

      Currently, we do not attempt to perform state schema evolution if the key or value's schema of a user MapState has changed when using RocksDB:

      https://github.com/apache/flink/blob/953a5ffcbdae4115f7d525f310723cf8770779df/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java#L542

      This was disallowed in the initial support for state schema evolution because the way we did state evolution in the RocksDB state backend was simply overwriting values.

      For MapState key evolution, only overwriting RocksDB values does not work, since RocksDB entries for MapState uses a composite key containing the map state key. This means that when evolving MapState in this case with an evolved key schema, we will have new entries.

      Attachments

        Issue Links

          Activity

            People

              klion26 Congxian Qiu
              tzulitai Tzu-Li (Gordon) Tai
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m