[ 
https://issues.apache.org/jira/browse/FLINK-19907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224507#comment-17224507
 ] 

Zhijiang commented on FLINK-19907:
----------------------------------

I am not quite sure the actual semantic for the new emitted elements while 
initializing operator state here. But I think we should consider two issues for 
guaranteeing the precision.

* Determinacy for repeated restore: That means the behavior should be 
consistent while executing the state restore multiple times.
* Consistency with normal running: Assume the new emitted elements also exist 
while state snapshot, what is the sequence between them and in-flight channel 
state, then we should also obey the same sequence after restoring.

> Channel state (upstream) can be restored after emission of new elements 
> (watermarks)
> ------------------------------------------------------------------------------------
>
>                 Key: FLINK-19907
>                 URL: https://issues.apache.org/jira/browse/FLINK-19907
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / Network
>    Affects Versions: 1.12.0, 1.11.2
>            Reporter: Roman Khachatryan
>            Assignee: Roman Khachatryan
>            Priority: Major
>             Fix For: 1.12.0
>
>
> In StreamTask.beforeInvoke:
> 1. 
> operatorChain.initializeStateAndOpenOperators(createStreamTaskStateInitializer());
> 2. readRecoveredChannelState();
>  But operatorChain.initializeStateAndOpenOperators can emit watermarks (or 
> potentially some other stream elements).
>  I've encountered this issue while adding an EndOfRecovery marker - in some 
> runs of in OverWindowITCase.testRowTimeBoundedPartitionedRangeOver the marker 
> was emitted after the watermark.
>  
> cc: [~zjwang], [~pnowojski]



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

Reply via email to