[jira] [Created] (FLINK-2923) Make it possible to mix-and-match StateBackends with KvState implementations

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-2923) Make it possible to mix-and-match StateBackends with KvState implementations

Shang Yuanchun (Jira)
Gyula Fora created FLINK-2923:
---------------------------------

             Summary: Make it possible to mix-and-match StateBackends with KvState implementations
                 Key: FLINK-2923
                 URL: https://issues.apache.org/jira/browse/FLINK-2923
             Project: Flink
          Issue Type: Improvement
          Components: Streaming
            Reporter: Gyula Fora
            Assignee: Gyula Fora


The KvState implementations are currently very closely tied to the specific StateBackend implementations and one has to reimplement the Backend to change the KvState. For many applications it is probably necessary to store the non-partitioned states differently from the key-value states.

An example would be a sql KvState with a simple file/memory backend for non-partitioned states (like bloomfilters, and offsets).

A wrapper object should be provided to allow the use of a backend with a custom KvState.

My proposal:
Create a KvStateProvider class which will have methods for initializing, creating and closing KvStates (independent from the backend)

Create a wrapper StateBackend that wraps a StateBackend and a KvStateprovider into a new StateBackend. This could be a static method of the StateBackend class:

`public static Statebackend StateBackend.createWithCustomKvState(StateBackend, KvStateProvider)`



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)