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)

Reply via email to