diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSAppAttempt.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSAppAttempt.java index b632eff..df6d825 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSAppAttempt.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSAppAttempt.java @@ -79,7 +79,6 @@ private ResourceWeights resourceWeights; private Resource demand = Resources.createResource(0); private FairScheduler scheduler; - private FSQueue fsQueue; private Resource fairShare = Resources.createResource(0, 0); // Preemption related variables @@ -118,7 +117,6 @@ public FSAppAttempt(FairScheduler scheduler, super(applicationAttemptId, user, queue, activeUsersManager, rmContext); this.scheduler = scheduler; - this.fsQueue = queue; this.startTime = scheduler.getClock().getTime(); this.lastTimeAtFairShare = this.startTime; this.appPriority = Priority.newInstance(1); @@ -942,8 +940,8 @@ boolean assignReservedContainer(FSSchedulerNode node) { */ Resource fairShareStarvation() { long now = scheduler.getClock().getTime(); - Resource threshold = Resources.multiply( - getFairShare(), fsQueue.getFairSharePreemptionThreshold()); + Resource threshold = Resources.multiply(getFairShare(), + ((FSQueue)queue).getFairSharePreemptionThreshold()); Resource fairDemand = Resources.componentwiseMin(threshold, demand); // Check if the queue is starved for fairshare @@ -954,7 +952,8 @@ Resource fairShareStarvation() { } if (!starved || - now - lastTimeAtFairShare < fsQueue.getFairSharePreemptionTimeout()) { + now - lastTimeAtFairShare < + ((FSQueue)queue).getFairSharePreemptionTimeout()) { fairshareStarvation = Resources.none(); } else { // The app has been starved for longer than preemption-timeout. @@ -969,7 +968,7 @@ Resource fairShareStarvation() { * {@code share}. */ private boolean isUsageBelowShare(Resource usage, Resource share) { - return fsQueue.getPolicy().getResourceCalculator().compare( + return ((FSQueue)queue).getPolicy().getResourceCalculator().compare( scheduler.getClusterResource(), usage, share, true) < 0; }