Till Rohrmann created FLINK-6626:
------------------------------------
Summary: Unifying lifecycle management of SubmittedJobGraph- and CompletedCheckpointStore
Key: FLINK-6626
URL:
https://issues.apache.org/jira/browse/FLINK-6626 Project: Flink
Issue Type: Improvement
Components: Distributed Coordination
Affects Versions: 1.3.0, 1.4.0
Reporter: Till Rohrmann
Currently, Flink uses the {{SubmittedJobGraphStore}} to persist {{JobGraphs}} such that they can be recovered in case of failures. The {{SubmittedJobGraphStore}} is managed by by the {{JobManager}}. Additionally, Flink has the {{CompletedCheckpointStore}} which stores checkpoints for a given {{ExecutionGraph}}/job. The {{CompletedCheckpointStore}} is managed by the {{CheckpointCoordinator}}.
The {{SubmittedJobGraphStore}} and the {{CompletedCheckpointStore}} are somewhat related because in the latter we store checkpoints for jobs contained in the former. I think it would be nice wrt lifecycle management to let the {{SubmittedJobGraphStore}} manage the lifecycle of the {{CompletedCheckpointStore}}, because often it does not make much sense to keep only checkpoints without a job or a job without checkpoints.
An idea would be when we register a job with the {{SubmittedJobGraphStore}} then it returns a {{CompletedCheckpointStore}}. This store can then be given to the {{CheckpointCoordinator}} to store the checkpoints. When a job enters a terminal state it could be the responsibility of the {{SubmittedJobGraphStore}} to decide what to do with the job data ({{JobGraph}} and {{Checkpoints}}), e.g. keeping it or cleaning it up.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)