[
https://issues.apache.org/jira/browse/MAPREDUCE-3789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13199936#comment-13199936
]
Alejandro Abdelnur commented on MAPREDUCE-3789:
-----------------------------------------------
Patch looks good, tests pass. one minor comment, the method
{code}
private static int getTTMaxSlotsForType(TaskTrackerStatus status, TaskType
type) {
if (type == TaskType.MAP) {
return status.getMaxMapSlots();
}
return status.getMaxReduceSlots();
}
{code}
could be refactored into
{code}
private static int getTTMaxSlotsForType(TaskTrackerStatus status, TaskType
type) {
return (type == TaskType.MAP) ? status.getMaxMapSlots() :
status.getMaxReduceSlots();
}
{code}
IMO it would be cleaner.
Have you tested this in a cluster?
> CapacityTaskScheduler may perform unnecessary reservations in heterogenous
> tracker environments
> -----------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-3789
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-3789
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: contrib/capacity-sched, scheduler
> Affects Versions: 1.1.0
> Reporter: Harsh J
> Assignee: Harsh J
> Priority: Critical
> Attachments: MAPREDUCE-3789.patch, MAPREDUCE-3789.patch
>
>
> Briefly, to reproduce:
> * Run JT with CapacityTaskScheduler [Say, Cluster max map = 8G, Cluster map =
> 2G]
> * Run two TTs but with varied capacity, say, one with 4 map slot, another
> with 3 map slots.
> * Run a job with two tasks, each demanding mem worth 4 slots at least (Map
> mem = 7G or so).
> * Job will begin running on TT #1, but will also end up reserving the 3 slots
> on TT #2 cause it does not check for the maximum limit of slots when
> reserving (as it goes greedy, and hopes to gain more slots in future).
> * Other jobs that could've run on the TT #2 over 3 slots are thereby blocked
> out due to this illogical reservation.
> I've not yet tested MR2 for this so feel free to weigh in if it affects MR2
> as well.
> For MR1, I've attached a test case initially to indicate this. A fix that
> checks reservations vs. max slots, to follow.
--
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