cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Witschey (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-10659) Windows CassCI: Fail on timed-out tests
Date Thu, 05 Nov 2015 17:30:27 GMT
Jim Witschey created CASSANDRA-10659:
----------------------------------------

             Summary: Windows CassCI: Fail on timed-out tests
                 Key: CASSANDRA-10659
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10659
             Project: Cassandra
          Issue Type: Bug
            Reporter: Jim Witschey
            Assignee: Jim Witschey


On our Windows CassCI environments, it looks like some dtests are prone to hanging, e.g.:

https://cassci.datastax.com/view/Dev/view/josh-mckenzie/job/josh-mckenzie-10641_windows-dtest_win32/1/
http://cassci.datastax.com/view/cassandra-2.2/job/cassandra-2.2_dtest_win32/131/
http://cassci.datastax.com/view/cassandra-2.2/job/cassandra-2.2_dtest_win32/129/
http://cassci.datastax.com/view/cassandra-2.2/job/cassandra-2.2_dtest_win32/128/
http://cassci.datastax.com/view/cassandra-2.2/job/cassandra-2.2_dtest_win32/126/
http://cassci.datastax.com/view/cassandra-2.2/job/cassandra-2.2_dtest_win32/125/

Ideally these tests wouldn't hang, but regardless, we should figure out a way to make them
fail, rather than timing out Jenkins and botching the rest of the test run.

The built-in [{{nosetests}} {{multiprocess}} plugin|http://nose.readthedocs.org/en/latest/plugins/multiprocess.html]
would solve this problem for us -- we could run the tests with {{nosetests --processes=1 --process-timeout=X}}
and it would stop the test and fail if the test took too long. However, it's broken on Windows.
I've filed [a quick issue on the {{nose}} GitHub|https://github.com/nose-devs/nose/issues/966],
but in the meantime, we should figure out how to avoid this.

Possible solutions:

# [~philipthompson] had a script that would shell out to {{nosetests}} for each test and kill
that process if it took too long. If I understand correctly, that script is broken, or assumes
things that are no longer true. We can revamp it if we want.
# We could make a patch for {{nose}} to fix the {{multiprocess}} plugin.
# We could hack in some of {{multiprocessing}}'s functionality into the {{dtest}} suite itself.

3. may be the best workaround for this problem -- our timeouts aren't caused just when a tests
runs long, but when Jenkins doesn't get any output on stdout from a hanging test. We may be
able to monitor stdout from a second process and fail the test before Jenkins would time out.

Pinging [~JoshuaMcKenzie] as this is a Windows issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message