https://dev.arvados.org/https://dev.arvados.org/favicon.ico?15576888422019-02-21T19:30:55ZArvadosArvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=716432019-02-21T19:30:55ZTom Cleggtom@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/71643/diff?detail_id=68685">diff</a>)</li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=723592019-03-13T16:05:36ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Target version</strong> set to <i>2019-03-27 Sprint</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=723602019-03-13T16:06:33ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Assigned To</strong> set to <i>Lucas Di Pentima</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=728422019-03-27T15:34:11ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Target version</strong> changed from <i>2019-03-27 Sprint</i> to <i>2019-04-10 Sprint</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=731872019-04-10T13:06:57ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Target version</strong> changed from <i>2019-04-10 Sprint</i> to <i>2019-04-24 Sprint</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=736072019-04-24T15:22:19ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Target version</strong> changed from <i>2019-04-24 Sprint</i> to <i>2019-05-08 Sprint</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=742202019-05-08T16:46:21ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Target version</strong> changed from <i>2019-05-08 Sprint</i> to <i>2019-05-22 Sprint</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=747212019-05-22T16:35:45ZLucas Di Pentimalucas.dipentima@curii.com
<ul><li><strong>Target version</strong> changed from <i>2019-05-22 Sprint</i> to <i>2019-06-05 Sprint</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=748862019-05-28T14:54:30ZTom Cleggtom@curii.com
<ul><li><strong>Assigned To</strong> changed from <i>Lucas Di Pentima</i> to <i>Tom Clegg</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=748872019-05-28T15:31:51ZTom Cleggtom@curii.com
<ul></ul><p>On second thought, disabling the background thread (and updating synchronously instead) in test cases seems undesirable: it would prevent all tests (even other components' integration tests) from experiencing async behavior.</p>
<p>A blocking flock() doesn't work: the background task sometimes gets the lock, then does a postgresql statement that blocks to wait for the main thread to commit/rollback. If the main thread then waits for the lock before (instead of) committing, everyone deadlocks in a way that postgresql can't detect.</p>
<p>Instead, solved by just skipping the lock when running "update priority" from the test case.</p>
<p>14878-priority-race @ <a class="changeset" title="14878: Skip flock() when testing priority updater. Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tcl..." href="https://dev.arvados.org/projects/arvados/repository/arvados/revisions/435a5df3e505dfbf67467bd02073f97e63c4c61d">435a5df3e505dfbf67467bd02073f97e63c4c61d</a> -- <a class="external" href="https://ci.curoverse.com/view/Developer/job/developer-run-tests/1262/">https://ci.curoverse.com/view/Developer/job/developer-run-tests/1262/</a></p> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=748882019-05-28T15:31:56ZTom Cleggtom@curii.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=748962019-05-28T17:11:35ZLucas Di Pentimalucas.dipentima@curii.com
<ul></ul><p>I tried to make <code>master</code> fail by running <code>update_priority_test.rb</code> repeatedly on my local machine but wasn't able to reproduce the flaky behavior, even running the entire unit test suite several times.</p>
<p>I think it would be useful to add a comment on <code>update_priority()</code> explaining <code>noblock</code>'s use, for posterity. Apart from that, it LGTM.</p> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=749042019-05-28T18:07:11ZTom Cleggtom@curii.com
<ul></ul><p>FWIW, my dev box reproduced the failure about 30% of the time on master, and passed 10 times in a row with this change.</p> Arvados - Bug #14878: [API] Fix unreliable testhttps://dev.arvados.org/issues/14878?journal_id=749062019-05-28T18:14:49ZTom Cleggtom@curii.com
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li></ul><p>Applied in changeset <a class="changeset" title="Merge branch '14878-priority-race' fixes #14878 Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tcleg..." href="https://dev.arvados.org/projects/arvados/repository/arvados/revisions/3549e6484287a327750882a83c5c5ce15647d585">arvados|3549e6484287a327750882a83c5c5ce15647d585</a>.</p>