You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Tzu-Li (Gordon) Tai (Jira)" <ji...@apache.org> on 2020/02/07 06:20:00 UTC

[jira] [Created] (FLINK-15945) Remove MULTIPLEX_FLINK_STATE config from Stateful Functions

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)