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

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

> Extend invocation protocol to allow functions to indicate incomplete 
> invocation context
> ---------------------------------------------------------------------------------------
>
>                 Key: FLINK-20265
>                 URL: https://issues.apache.org/jira/browse/FLINK-20265
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Stateful Functions
>            Reporter: Tzu-Li (Gordon) Tai
>            Assignee: Tzu-Li (Gordon) Tai
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: statefun-2.3.0
>
>
> Currently, users declare the states a function will access with a module YAML 
> definition file. The modules are loaded once when starting a StateFun 
> cluster, meaning that the state specifications remain static throughout the 
> cluster's execution lifetime.
> We propose that state specifications should be declared by the function 
> themselves via the language SDKs, instead of being declared in the module 
> YAMLs.
> The state specifications, now living in the functions, can be made 
> discoverable by the StateFun runtime through the invocation request-reply 
> protocol.
> Brief simplified sketch of the extended protocol:
> - StateFun dispatches an invocation request, with states [A, B].
> - Function receives request, but since it requires states [A, B, C, D], it 
> responds with a {{IncompleteInvocationContext}} response that indicates state 
> values for [C, D] is missing.
> - StateFun receives this response, and registers new Flink state handles for 
> [C, D].
> - Finally, a new invocation request with the same input messages, but 
> "patched" with new states to contain all values for [A, B, C, D] is resent to 
> the function.
> This JIRA only targets updating the Protobuf messages {{ToFunction}} and 
> {{FromFunction}} to fulfill the extended protocol, and support handling 
> {{IncompleteInvocationContext}} responses in the request dispatcher.
> Updating SDKs should be separate subtask JIRAs.



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

Reply via email to