[ 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)