You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2010/01/26 19:12:34 UTC
[jira] Created: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
TestRecoveryManager can spin waiting for a job to be half done
---------------------------------------------------------------
Key: MAPREDUCE-1414
URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
Project: Hadoop Map/Reduce
Issue Type: Bug
Components: test
Affects Versions: 0.22.0
Reporter: Steve Loughran
Assignee: Steve Loughran
Priority: Minor
This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833757#action_12833757 ]
Steve Loughran commented on MAPREDUCE-1414:
-------------------------------------------
I disagree. <junit> will timeout but it reacts by killing the process, creating an empy XML file. when the XSL transforms are applied to create HTML docs, <junitreport> will mention the missing file and skip it. Your test HTML reports -which may be on some remote hudson server, after all- won't contain any information as to why your build failed, except you get emails saying "junit test run failed".
Having the test recognise and handle a situation which at least one person (me) has encountered would eliminate this, and I don't see why it should be rejected. The more robust your test harness is, the better.
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Loughran updated MAPREDUCE-1414:
--------------------------------------
Attachment: MAPREDUCE-1414.patch
Adds a {{waitFor JobHalfDone}} method to {{UtilsForTests}} which times out after a minute (hard coded, inline), factored its use into both parts of TestRecoveryManager that waits for a partially-complete job.
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Loughran updated MAPREDUCE-1414:
--------------------------------------
Fix Version/s: 0.22.0
Status: Patch Available (was: Open)
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805243#action_12805243 ]
Hadoop QA commented on MAPREDUCE-1414:
--------------------------------------
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12431442/MAPREDUCE-1414.patch
against trunk revision 902727.
+1 @author. The patch does not contain any @author tags.
+1 tests included. The patch appears to include 6 new or modified tests.
+1 javadoc. The javadoc tool did not generate any warning messages.
+1 javac. The applied patch does not increase the total number of javac compiler warnings.
+1 findbugs. The patch does not introduce any new Findbugs warnings.
+1 release audit. The applied patch does not increase the total number of release audit warnings.
-1 core tests. The patch failed core unit tests.
+1 contrib tests. The patch passed contrib unit tests.
Test results: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/408/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/408/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/408/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/408/console
This message is automatically generated.
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Chris Douglas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Douglas updated MAPREDUCE-1414:
-------------------------------------
Resolution: Won't Fix
Status: Resolved (was: Patch Available)
Adding special timeouts for long-running tests is not a fix and it's not even diagnostic in this case.
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Chris Douglas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834104#action_12834104 ]
Chris Douglas commented on MAPREDUCE-1414:
------------------------------------------
The test harness, I'd argue, is not more robust because there is a log when the test fails for ambiguous reasons. I tried running this test on my laptop, it failed because the job took more than a minute, and it was still unclear why- or whether- that was a problem. The log artifact was just as useless as nothing and the proposed patch doesn't change that; it makes an already flaky test even less reliable by introducing a failure case that is not implicit in what the test is validating.
If the test is flaky, the framework and/or the test are flawed. The current patch proposes to fix neither one.
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (MAPREDUCE-1414) TestRecoveryManager can spin
waiting for a job to be half done
Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805262#action_12805262 ]
Steve Loughran commented on MAPREDUCE-1414:
-------------------------------------------
Hudson tests failing w/ ClassNotFound:
{code}
java.lang.NoClassDefFoundError: org/apache/hadoop/net/StaticMapping
at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:288)
at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:132)
at org.apache.hadoop.mapred.ClusterMapReduceTestCase.startCluster(ClusterMapReduceTestCase.java:81)
at org.apache.hadoop.mapred.ClusterMapReduceTestCase.setUp(ClusterMapReduceTestCase.java:56)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.net.StaticMapping
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
{code}
Looking at the missing class, it is a test class in hadoop-common, and is not in hadoop-common.jar. I could easily imagine that the classpath for Hudson isn't picking up the test jar wherever it is meant to
> TestRecoveryManager can spin waiting for a job to be half done
> ---------------------------------------------------------------
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting for a job to get half done. The test runner will eventually kill it, but that loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.