https://dev.arvados.org/https://dev.arvados.org/favicon.ico?15576888422017-01-17T19:17:38ZArvadosArvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=472412017-01-17T19:17:38ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Story points</strong> set to <i>2.0</i></li><li><strong>Description</strong> updated (<a title="View differences" href="/journals/47241/diff?detail_id=45481">diff</a>)</li></ul> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=474232017-01-18T20:22:47ZTom Cleggtom@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/47423/diff?detail_id=45660">diff</a>)</li></ul> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=474462017-01-18T20:38:47ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Target version</strong> changed from <i>2017-02-01 sprint</i> to <i>2017-02-15 sprint</i></li></ul> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=474852017-01-19T20:22:34ZTom Cleggtom@curii.com
<ul><li><strong>Subject</strong> changed from <i>Cancel button should cancel all subjobs too</i> to <i>Cancel button on jobs & pipeline instances should cancel all child jobs too</i></li><li><strong>Description</strong> updated (<a title="View differences" href="/journals/47485/diff?detail_id=45718">diff</a>)</li></ul> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=479312017-02-01T20:32:52ZRadhika Chippadaradhika@curoverse.com
<ul><li><strong>Assigned To</strong> set to <i>Radhika Chippada</i></li></ul> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=480862017-02-07T14:26:38ZRadhika Chippadaradhika@curoverse.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=481052017-02-08T02:00:23ZRadhika Chippadaradhika@curoverse.com
<ul></ul><p>Branch 10903-api-cancel-cascade @ <a class="changeset" title="10903: Add cancel method with cascade to pipeline_instance and update a job's cancel method to ac..." href="https://dev.arvados.org/projects/arvados/repository/arvados/revisions/3f8336875d5938afb6b00289e9d6c9941456b57f">3f833687</a> addresses the API server updates: (1) enhance job.cancel method to support cascade parameter, (2) add cancel method with cascade to pipeline_instance.</p>
<p>Tests @ <a class="external" href="https://ci.curoverse.com/job/developer-run-tests/157">https://ci.curoverse.com/job/developer-run-tests/157</a></p> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=481412017-02-09T00:59:15ZRadhika Chippadaradhika@curoverse.com
<ul></ul><p>Tom: branch 10903-wb-cancel-cascade @ <a class="changeset" title="10903: use cancel with cascade to cancel jobs and pause pipelines." href="https://dev.arvados.org/projects/arvados/repository/arvados/revisions/210af1cc7ede88914026fde078e45ef84c187a0c">210af1cc7ede88914026fde078e45ef84c187a0c</a> has both API and workbench updates. Please review this branch if you prefer to review both together.</p>
<p>One question: Let's say I have a job with job and pipeline components and I cancel it in workbench. Now I see that the main job and the child job are "cancelled", but the pipeline status is shown as "paused". If I were to navigate to that child pipeline, I would be able to click on it's resume button. Just wondering if this might be confusing from UI perspective.</p>
<p>API and workbench tests passed @ <a class="external" href="https://ci.curoverse.com/job/developer-run-tests/161/">https://ci.curoverse.com/job/developer-run-tests/161/</a></p>
<p>Thanks.</p> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=481612017-02-09T20:39:18ZTom Cleggtom@curii.com
<ul></ul><p>10903-api-cancel-cascade @ <a class="changeset" title="10903: Add cancel method with cascade to pipeline_instance and update a job's cancel method to ac..." href="https://dev.arvados.org/projects/arvados/repository/arvados/revisions/3f8336875d5938afb6b00289e9d6c9941456b57f">3f83368</a></p>
<p>I think this needs to be protected by a transaction. Suggest new signature for cancel method:</p>
<pre><code class="ruby syntaxhl"><span class="k">def</span> <span class="nf">cancel</span><span class="p">(</span><span class="ss">cascade: </span><span class="kp">false</span><span class="p">,</span> <span class="ss">need_transaction: </span><span class="kp">true</span><span class="p">)</span>
<span class="k">if</span> <span class="n">need_transaction</span>
<span class="no">ActiveRecord</span><span class="o">::</span><span class="no">Base</span><span class="p">.</span><span class="nf">transaction</span> <span class="k">do</span>
<span class="n">cancel</span><span class="p">(</span><span class="ss">cascade: </span><span class="n">cascade</span><span class="p">,</span> <span class="ss">need_transaction: </span><span class="kp">false</span><span class="p">)</span>
<span class="k">end</span>
<span class="k">return</span>
<span class="k">end</span>
<span class="c1"># ...</span>
</code></pre>
<p>(ruby2 has native named params, so we should be using those instead of positional params...)</p>
<p>Can do more filtering in the database in these sections:</p>
<pre><code class="diff syntaxhl"><span class="gd">- Job.where(uuid: children).each do |job|
- job.cancel cascade if job.state.in?([Queued, Running])
</span><span class="gi">+ Job.where(uuid: children, state: [Queued, Running]).each do |job|
+ job.cancel(cascade: cascade, need_transaction: false)
</span> end
</code></pre> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=481972017-02-10T19:10:52ZRadhika Chippadaradhika@curoverse.com
<ul></ul><p>Branch 10903-wb-cancel-cascade at <a class="changeset" title="10903: support need_transaction for job and pipeline_instance cancel methods." href="https://dev.arvados.org/projects/arvados/repository/arvados/revisions/2e9cb970e94c1ba259c6365ea4b456ca87e85cee">2e9cb97</a> addresses the suggestions from note 9 (need_transaction added).</p>
<p>Tests @ <a class="external" href="https://ci.curoverse.com/job/developer-run-tests/165/">https://ci.curoverse.com/job/developer-run-tests/165/</a></p> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=482092017-02-10T20:20:15ZLucas Di Pentimalucas.dipentima@curii.com
<ul></ul><p>LGTM!</p> Arvados - Bug #10903: Cancel button on jobs & pipeline instances should cancel all child jobs toohttps://dev.arvados.org/issues/10903?journal_id=482252017-02-10T21:40:06ZRadhika Chippadaradhika@curoverse.com
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>50</i> to <i>100</i></li></ul><p>Applied in changeset arvados|commit:d6aab18f9688d46bc1f86f021d68e02e5601cfe7.</p>