hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron T. Myers (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8755) Print thread dump when tests fail due to timeout
Date Wed, 12 Sep 2012 19:33:09 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-8755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13454284#comment-13454284

Aaron T. Myers commented on HADOOP-8755:

Thanks for the update, Andrey. I agree that both of those improvements sound good, though
both could reasonably be done in separate JIRAs.

Regarding the difficulty of implementing option #2, I agree that both of those sound pretty
hacky, probably to the degree that it's not worth it. I don't even think that dynamically
modifying the @Test annotations for all the test methods would work, since I don't think you
can change annotation attributes at run-time. I've also taken a look at the JUnit docs, and
I think another way of setting a default timeout might be to implement a custom BlockJUnit4ClassRunner
which overrides the withPotentialTimeout method to add a default value if none is set. That's
still not trivial, but it seems a little less hacky than either of the two options so far

All that said, given the difficulty of setting a default JUnit test timeout, I'd even be OK
with just modifying all existing tests to set the timeout attribute of the @Test annotation,
and going forward being sure to always set one. Considering we recently converted all of Hadoop's
tests to JUnit 4 style, this seems like it might be reasonable. I think we could very close
to such a patch just by doing the following:

sed -i 's/@Test$/@Test(timeout=480000)/g' `egrep -r '@Test$' . -l`
sed -i 's/@Test(expected/@Test(timeout=480000, expected/g' `egrep -r '@Test\(expected' . -l`

> Print thread dump when tests fail due to timeout 
> -------------------------------------------------
>                 Key: HADOOP-8755
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8755
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: test
>    Affects Versions: 1.0.3, 0.23.1, 2.0.0-alpha
>            Reporter: Andrey Klochkov
>            Assignee: Andrey Klochkov
>         Attachments: HDFS-3762-branch-0.23.patch, HDFS-3762.patch, HDFS-3762.patch, HDFS-3762.patch,
HDFS-3762.patch, HDFS-3762.patch
> When a test fails due to timeout it's often not clear what is the root cause. See HDFS-3364
as an example.
> We can print dump of all threads in this case, this may help finding causes.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message