You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/03/23 20:49:41 UTC

[jira] [Commented] (BEAM-1784) DataflowPipelineJob.cancel() should be idempotent

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

ASF GitHub Bot commented on BEAM-1784:
--------------------------------------

Github user asfgit closed the pull request at:

    https://github.com/apache/beam/pull/2295


> DataflowPipelineJob.cancel() should be idempotent
> -------------------------------------------------
>
>                 Key: BEAM-1784
>                 URL: https://issues.apache.org/jira/browse/BEAM-1784
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-dataflow
>            Reporter: Eugene Kirpichov
>            Assignee: Eugene Kirpichov
>
> Right now DataflowPipelineJob.cancel() issues an RPC to the Dataflow service and, if it fails, checks whether the job is in a terminal state - in that case the failure is ignored.
> Ideally, the Dataflow-side cancel call itself would be idempotent, and would succeed even if the job is already terminated. However, right now this is not the case.
> Additionally, Dataflow service can, for a short time, return RUNNING state even for a job that has already been cancelled (i.e. it will reject cancel() calls, but will report state as RUNNING).
> Because of this, if you call DataflowPipelineJob.cancel() multiple times, it might fail (throw an exception). Calling cancel() multiple times should, logically, be ok. So, to partially work around these issues of the Dataflow service, we can make DataflowPipelineJob.cancel() be idempotent by itself, i.e. absorb duplicate cancel() requests. This, of course, doesn't address the case when the job terminates externally almost concurrently to calling DataflowPipelineJob.cancel() - but it's an improvement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)