[ 
https://issues.apache.org/jira/browse/MAPREDUCE-2905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126275#comment-13126275
 ] 

Jeff Bean commented on MAPREDUCE-2905:
--------------------------------------

I don't understand why the existing JUnit test for CapBasedLoadManager isn't 
sufficient to determine that the patch does not regress? It was sufficient 
before, so if the patched LoadManager still passes the test on the build, 
shouldn't that be sufficient now?

The JUnit test actually doesn't properly catch this bug. When AssignMultiple is 
on, CanAssignMap is called in a loop from the fair scheduler with the same 
TaskStatus object, and the junit test reinstantiates the task status object on 
each call to CanAssignMap. 

I can patch the existing JUnit test to reproduce the issue, which would make 
the existing CapBasedLoadManager fail. Is this sufficient?


                
> CapBasedLoadManager incorrectly allows assignment when assignMultiple is true 
> (was: assignmultiple per job)
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2905
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2905
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: contrib/fair-share
>    Affects Versions: 0.20.2
>            Reporter: Jeff Bean
>         Attachments: MR-2905.patch
>
>
> We encountered a situation where in the same cluster, large jobs benefit from 
> mapred.fairscheduler.assignmultiple, but small jobs with small numbers of 
> mappers do not: the mappers all clump to fully occupy just a few nodes, which 
> causes those nodes to saturate and bottleneck. The desired behavior is to 
> spread the job across more nodes so that a relatively small job doesn't 
> saturate any node in the cluster.
> Testing has shown that setting mapred.fairscheduler.assignmultiple to false 
> gives the desired behavior for small jobs, but is unnecessary for large jobs. 
> However, since this is a cluster-wide setting, we can't properly tune.
> It'd be nice if jobs can set a param similar to 
> mapred.fairscheduler.assignmultiple on submission to better control the task 
> distribution of a particular job.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to