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)

Reply via email to