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,L436Into a single loop that calls initalizeState and immediately open.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)