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

Reply via email to