flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-5762) Protect initializeState() and open() by the same lock.
Date Tue, 14 Feb 2017 10:45:41 GMT

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

ASF GitHub Bot commented on FLINK-5762:

Github user kl0u commented on the issue:

    Thanks a lot @StephanEwen !

> 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

View raw message