diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/PreemptableResourceCalculator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/PreemptableResourceCalculator.java index 2d2cdf6..4461f51 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/PreemptableResourceCalculator.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/PreemptableResourceCalculator.java @@ -197,8 +197,8 @@ private void calculateResToObtainByPartitionForLeafQueues( */ Resource resToObtain = qT.toBePreempted; if (!isReservedPreemptionCandidatesSelector) { - resToObtain = Resources.multiply(qT.toBePreempted, - context.getNaturalTerminationFactor()); + resToObtain = Resources.multiplyAndNormalizeUp(rc, qT.toBePreempted, + context.getNaturalTerminationFactor(), Resource.newInstance(1, 1)); } // Only add resToObtain when it >= 0