[ 
https://issues.apache.org/jira/browse/FLINK-24275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417720#comment-17417720
 ] 

Austin Cawley-Edwards commented on FLINK-24275:
-----------------------------------------------

I see two options:
 * Treat the endpoint imperatively ("Switch this Job to Cancelled")
 ** Fail on already cancelled (i.e. 409)
 * Treat the endpoint declaratively ("Ensure this Job is Cancelled")
 ** Return a success message (i.e., 200, or 202 like is currently returned)

 

You know which fits better with the Flink API concepts than I do, but I would 
lean towards the second option to simplify how users handle it. If duplicate 
calls return an error, users have to classify this error as acceptable. I don't 
see any case where a 409 error is handled any differently than a success.

 

 

 

> Allow idempotent job cancellation
> ---------------------------------
>
>                 Key: FLINK-24275
>                 URL: https://issues.apache.org/jira/browse/FLINK-24275
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / REST
>            Reporter: Austin Cawley-Edwards
>            Priority: Major
>
> As a user of Flink, I want to be able to cancel a job from an external system 
> in a fault-tolerant way without guessing if the job has already been 
> cancelled.
>  
> Currently, the cancel endpoint (PATCH /jobs/:jobid?mode=cancel) will return a 
> 404 if the job is already cancelled. This makes it hard to detect if the job 
> truly doesn't exist, or if it is already in the desired state.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to