YARN-7513. Remove the scheduler lock in FSAppAttempt.getWeight() (Contributed by Wilfred Spiegelenburg)

(cherry picked from commit 03c311eae3)
This commit is contained in:
yufei 2017-11-21 10:33:34 -08:00 committed by Yufei Gu
parent b419e8aa25
commit 717634e45c
1 changed files with 4 additions and 10 deletions

View File

@ -1304,20 +1304,14 @@ public class FSAppAttempt extends SchedulerApplicationAttempt
@Override
public float getWeight() {
double weight = 1.0;
float weight = 1.0F;
if (scheduler.isSizeBasedWeight()) {
scheduler.getSchedulerReadLock().lock();
try {
// Set weight based on current memory demand
weight = Math.log1p(getDemand().getMemorySize()) / Math.log(2);
} finally {
scheduler.getSchedulerReadLock().unlock();
}
// Set weight based on current memory demand
weight = (float)(Math.log1p(demand.getMemorySize()) / Math.log(2));
}
return (float)weight * this.getPriority().getPriority();
return weight * appPriority.getPriority();
}
@Override