This is an automated email from the ASF dual-hosted git repository.
snemeth pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 0463498 YARN-10944. AbstractCSQueue: Eliminate code duplication in
overloaded versions of setMaxCapacity. Contributed by Andras Gyori
0463498 is described below
commit 0463498adcd3b62b83e6383cae556093d4270d66
Author: Szilard Nemeth <[email protected]>
AuthorDate: Tue Feb 22 11:55:34 2022 +0100
YARN-10944. AbstractCSQueue: Eliminate code duplication in overloaded
versions of setMaxCapacity. Contributed by Andras Gyori
---
.../scheduler/capacity/AbstractCSQueue.java | 32 ++++++++--------------
1 file changed, 11 insertions(+), 21 deletions(-)
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java
index 4eb7b68..020c601 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java
@@ -74,6 +74,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import static
org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager.NO_LABEL;
import static
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration.DOT;
public abstract class AbstractCSQueue implements CSQueue {
@@ -279,33 +280,23 @@ public abstract class AbstractCSQueue implements CSQueue {
}
/**
- * Set maximum capacity - used only for testing.
+ * Set maximum capacity for empty node label.
* @param maximumCapacity new max capacity
*/
@VisibleForTesting
void setMaxCapacity(float maximumCapacity) {
- writeLock.lock();
- try {
- // Sanity check
- CSQueueUtils.checkMaxCapacity(this.queuePath,
- queueCapacities.getCapacity(), maximumCapacity);
- float absMaxCapacity = CSQueueUtils.computeAbsoluteMaximumCapacity(
- maximumCapacity, parent);
- CSQueueUtils.checkAbsoluteCapacity(this.queuePath,
- queueCapacities.getAbsoluteCapacity(), absMaxCapacity);
-
- queueCapacities.setMaximumCapacity(maximumCapacity);
- queueCapacities.setAbsoluteMaximumCapacity(absMaxCapacity);
- } finally {
- writeLock.unlock();
- }
+ internalSetMaximumCapacity(maximumCapacity, NO_LABEL);
}
/**
- * Set maximum capacity
+ * Set maximum capacity.
* @param maximumCapacity new max capacity
*/
void setMaxCapacity(String nodeLabel, float maximumCapacity) {
+ internalSetMaximumCapacity(maximumCapacity, nodeLabel);
+ }
+
+ private void internalSetMaximumCapacity(float maximumCapacity, String
nodeLabel) {
writeLock.lock();
try {
// Sanity check
@@ -323,7 +314,6 @@ public abstract class AbstractCSQueue implements CSQueue {
}
}
-
@Override
public String getDefaultNodeLabelExpression() {
return this.queueNodeLabelsSettings.getDefaultLabelExpression();
@@ -917,7 +907,7 @@ public abstract class AbstractCSQueue implements CSQueue {
}
private static String ensurePartition(String partition) {
- return Optional.ofNullable(partition).orElse(RMNodeLabelsManager.NO_LABEL);
+ return Optional.ofNullable(partition).orElse(NO_LABEL);
}
@FunctionalInterface
@@ -1016,8 +1006,8 @@ public abstract class AbstractCSQueue implements CSQueue {
// Add NO_LABEL also to this list as NO_LABEL also can be granted with
// resource in many general cases.
- if (!nodeLabels.contains(RMNodeLabelsManager.NO_LABEL)) {
- nodeLabels.add(RMNodeLabelsManager.NO_LABEL);
+ if (!nodeLabels.contains(NO_LABEL)) {
+ nodeLabels.add(NO_LABEL);
}
return nodeLabels;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]