[ 
https://issues.apache.org/jira/browse/FLINK-5762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephan Ewen closed FLINK-5762.
-------------------------------

> Protect initializeState() and open() by the same lock.
> ------------------------------------------------------
>
>                 Key: FLINK-5762
>                 URL: https://issues.apache.org/jira/browse/FLINK-5762
>             Project: Flink
>          Issue Type: Bug
>          Components: DataStream API
>    Affects Versions: 1.3.0
>            Reporter: Kostas Kloudas
>            Assignee: Kostas Kloudas
>             Fix For: 1.3.0
>
>
> Currently the initializeState() of all operators in a task is called without 
> the checkpoint lock, and before the open(). This may lead to problematic 
> situations as the following:
> In the case that we retrieve timers from a checkpoint, e.g. WindowOperator 
> and (future) CEP, if we re-register them in the initializeState(), then if 
> they fire before the open() of the downstream operators is called, we will 
> have a task failure, as the downstream channels are not open.
> To avoid this, we can put the initializeState() in the same lock as the 
> open(), and the two operations will happen while being protected by the same 
> lock, which also keeps timers from firing.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to