flink-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kostas Kloudas (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLINK-5762) Execute initializeState() and open() "atomically"
Date Thu, 09 Feb 2017 15:01:41 GMT
Kostas Kloudas created FLINK-5762:
-------------------------------------

             Summary: Execute initializeState() and open() "atomically"
                 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)

Mime
View raw message