Tzu-Li (Gordon) Tai created FLINK-15945:
-------------------------------------------

             Summary: Remove MULTIPLEX_FLINK_STATE config from Stateful 
Functions
                 Key: FLINK-15945
                 URL: https://issues.apache.org/jira/browse/FLINK-15945
             Project: Flink
          Issue Type: Improvement
          Components: Stateful Functions
    Affects Versions: statefun-1.1
            Reporter: Tzu-Li (Gordon) Tai
            Assignee: Tzu-Li (Gordon) Tai


Currently, Stateful Functions support a {{MULTIPLEX_FLINK_STATE}} configuration 
that, when enabled, multiplexes registered state of all function types as a 
single {{MapState}}.

This is mostly to allow feasible use of the RocksDB state backend with Stateful 
Functions, since without multiplexing state, each {{PersistedValue}} of a 
single function type would require a separate column family in RocksDB and need 
64mb of memstore.

As of now, Stateful Functions allow enabling or disabling multiplex state, 
regardless of the state backend being used. This actually does not make sense, 
considering that:

* If the heap backend is used, there is no reason to multiplex state. Also 
taking into account that there are problems that exist for multiplexing state 
such as lack of support for state schema evolution.
* If RocksDB backend is used, it is highly encouraged to multiplex state, 
anyways.

Therefore, we propose to remove the {{MULTIPLEX_FLINK_STATE}} configuration and 
simply tie the behaviour of multiplexing state to the state backend being used, 
i.e. multiplex only when RocksDB state backend is used.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to