You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2017/10/23 09:01:16 UTC

[jira] [Created] (FLINK-7901) Detecting whether an operator is restored doesn't work with chained state (Flink 1.3)

Aljoscha Krettek created FLINK-7901:
---------------------------------------

             Summary: Detecting whether an operator is restored doesn't work with chained state (Flink 1.3)
                 Key: FLINK-7901
                 URL: https://issues.apache.org/jira/browse/FLINK-7901
             Project: Flink
          Issue Type: Bug
          Components: DataStream API, State Backends, Checkpointing
    Affects Versions: 1.4.0, 1.3.2
            Reporter: Aljoscha Krettek
            Assignee: Piotr Nowojski
            Priority: Blocker
             Fix For: 1.4.0, 1.3.3
         Attachments: StreamingJob.java

Originally reported on the ML: https://lists.apache.org/thread.html/22a2cf83de3107aa81a03a921325a191c29df8aa8676798fcd497199@%3Cuser.flink.apache.org%3E

If we have a chain of operators where multiple of them have operator state, detection of the {{context.isRestored()}} flag (of {{CheckpointedFunction}}) does not work correctly. It's best exemplified using this minimal example where both the source and the flatMap have state:
{code}
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

env
		.addSource(new MaSource()).uid("source-1")
		.flatMap(new MaFlatMap()).uid("flatMap-1");

env.execute("testing");
{code}

If I do a savepoint with these UIDs, then change "source-1" to "source-2" and restore from the savepoint {{context.isRestored()}} still reports {{true}} for the source.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)