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.