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
proposed.

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:

{code}
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`
{code}

Thoughts?
                
> 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

Mime
View raw message