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)