|
|
Aaron T. Myers 2012-09-14, 18:23
Hello devs,
With the commit of HADOOP-8755, we now have support for printing a thread dump whenever a test case times out. However, this will only happen for test cases which are annotated with a JUnit timeout, i.e. those annotated with something like "@Test(timeout=X)". Unfortunately, there doesn't seem to be an easy way to add a default JUnit timeout for all of our tests, so some tests may time out by reaching the Surefire fork timeout, in which case the thread dump will not be printed. You can see more discussion about this on HADOOP-8755.
So, if you see a test case fail by reaching the Surefire fork timeout, please file a JIRA to add a JUnit timeout for that test. If when adding a test case you think that it might time out, please add a JUnit timeout.
Thanks, Aaron
-- Aaron T. Myers Software Engineer, Cloudera
Todd Lipcon 2012-09-14, 20:27
On Fri, Sep 14, 2012 at 11:23 AM, Aaron T. Myers <[EMAIL PROTECTED]> wrote: > > So, if you see a test case fail by reaching the Surefire fork timeout, > please file a JIRA to add a JUnit timeout for that test. If when adding a > test case you think that it might time out, please add a JUnit timeout.
I'd go one step further: If you add any test that isn't a true "unit" test (ie it relies on any mulithreading, either explicitly or by using miniclusters, etc), you should add a timeout. Even if it has to be conservative (like 5 minutes on a test that you expect only runs 10 seconds), it seems better than waiting for it to timeout and then later having to go back and add one.
-Todd -- Todd Lipcon Software Engineer, Cloudera
|
|
All projects made searchable here are trademarks of the Apache Software Foundation.
Service operated by
Sematext