YARN-5185. StageAllocaterGreedyRLE: Fix NPE in corner case. (Carlo Curino via asuresh)
(cherry picked from commit 7a9b7372a1a917c7b5e1beca7e13c0419e3dbfef)
This commit is contained in:
parent
06e38c835d
commit
f0a869b52a
@ -168,14 +168,22 @@ public Map<ReservationInterval, Resource> computeStageAllocation(Plan plan,
|
||||
if (allocateLeft) {
|
||||
// set earliest start to the min of the constraining "range" or my the
|
||||
// end of this allocation
|
||||
if(partialMap.higherKey(minPoint) == null){
|
||||
stageEarliestStart = stageEarliestStart + dur;
|
||||
} else {
|
||||
stageEarliestStart =
|
||||
Math.min(partialMap.higherKey(minPoint), stageEarliestStart + dur);
|
||||
}
|
||||
} else {
|
||||
// same as above moving right-to-left
|
||||
if(partialMap.higherKey(minPoint) == null){
|
||||
stageDeadline = stageDeadline - dur;
|
||||
} else {
|
||||
stageDeadline =
|
||||
Math.max(partialMap.higherKey(minPoint), stageDeadline - dur);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if no gangs are left to place we succeed and return the allocation
|
||||
if (gangsToPlace == 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user