[ 
https://issues.apache.org/jira/browse/FLINK-18316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-18316:
-----------------------------------
    Labels: pull-request-available  (was: )

> Add a dynamic state registration primitive for Stateful Functions
> -----------------------------------------------------------------
>
>                 Key: FLINK-18316
>                 URL: https://issues.apache.org/jira/browse/FLINK-18316
>             Project: Flink
>          Issue Type: New Feature
>          Components: Stateful Functions
>            Reporter: Tzu-Li (Gordon) Tai
>            Assignee: Tzu-Li (Gordon) Tai
>            Priority: Major
>              Labels: pull-request-available
>
> Currently, using the {{PersistedValue}} / {{PersistedTable}} / 
> {{PersistedAppendingBuffer}} primitives, the user can only eagerly define 
> states prior to function instance activation using the {{Persisted}} field 
> annotation.
> We propose to add a primitive that allows them to register states dynamically 
> after activation (i.e. during runtime), along the lines of:
> {code}
> public MyStateFn implements StatefulFunction {
>     @Persisted
>     private final PersistedStateProvider provider = new 
> PersistedStateProvider();
>     public MyStateFn() {
>         PersistedValue<String> valueState = provider.getValue(...);
>     }
>     void invoke(Object input) {
>         PersistedValue<String> anotherValueState = provider.getValue(...);
>     }
> }
> {code}
> Note how you can register state during instantiation (in the constructor) and 
> in the invoke method. Both registrations should be picked up by the runtime 
> and bound to Flink state.
> This will be useful for a few scenarios:
> - Could enable us to get rid of eager state spec definitions in the YAML 
> modules for remote functions in the future.
> - Will allow new state to be registered in remote functions, without shutting 
> down the StateFun cluster.
> - Moreover, this approach allows us to differentiate which functions have 
> dynamic state and which ones have only eager state, which might be handy in 
> the future in case there is a need to differentiate.



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

Reply via email to