[jira] [Created] (FLINK-14862) Fuse initalizeState and open passes in StreamTask#invoke

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

[jira] [Created] (FLINK-14862) Fuse initalizeState and open passes in StreamTask#invoke

Shang Yuanchun (Jira)
Igal Shilman created FLINK-14862:
------------------------------------

             Summary: Fuse initalizeState and open passes in StreamTask#invoke
                 Key: FLINK-14862
                 URL: https://issues.apache.org/jira/browse/FLINK-14862
             Project: Flink
          Issue Type: New Feature
          Components: Runtime / Task
            Reporter: Igal Shilman


Currently chained operators lack the ability to send records downstream during initializeState (AbstractStreamOperator#initalizeState), because downstream operators in the chain didn't open yet (AbstractStreamOperator#open).

The main problem with that is that the rawOperatorState and the rawKeyedStateInputs are only valid during the execution of initializeState, and with large raw states materializing to hand them over to be used at open is not feasible (at least without spilling to disk)

So, I would propose to fuse the loops here:

https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/StreamTask.java#L435,L436

Into a single loop that calls initalizeState and immediately open.



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