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

This commit is contained in:
yufei 2017-11-21 10:33:34 -08:00
parent 67bbbe1c0c
commit 03c311eae3
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