[ https://issues.apache.org/jira/browse/FLINK-8459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364044#comment-16364044 ]
Till Rohrmann commented on FLINK-8459: -------------------------------------- Yes the better solution in terms of guarantees would be issuing a single call and then execute the logic on the {{JobMaster}}. However, this won't strictly give you exactly once processing guarantees, because we don't support yet a proper cancel with savepoint command on the {{JobMaster}}. After the savepoint the {{Tasks}} might still process some other records before cancelling it. Therefore, both variants, doing the cancel with savepoint command with a single REST call or splitting them into the two existing REST calls {{triggerSavepoint}} and {{cancel}} would be ok for me. > Implement cancelWithSavepoint in RestClusterClient > -------------------------------------------------- > > Key: FLINK-8459 > URL: https://issues.apache.org/jira/browse/FLINK-8459 > Project: Flink > Issue Type: Sub-task > Components: Client > Affects Versions: 1.5.0 > Reporter: Gary Yao > Assignee: vinoyang > Priority: Blocker > Labels: flip-6 > Fix For: 1.5.0 > > > Implement the method > {{RestClusterClient#cancelWithSavepoint(JobID jobId, @Nullable String > savepointDirectory)}}. > by either taking a savepoint and cancel the job separately, or by migrating > the logic in {{JobCancellationWithSavepointHandlers}}. The former will have > different semantics because the checkpoint scheduler is not stopped. Thus it > is not guaranteed that there won't be additional checkpoints between the > savepoint and the job cancelation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)