YARN-6327. Removing queues from CapacitySchedulerQueueManager and ParentQueue 
should be done with iterator. Contributed by Jonathan Hung.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0a3aa40f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0a3aa40f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0a3aa40f

Branch: refs/heads/YARN-5734
Commit: 0a3aa40fe7878c939dbf4e6b43466595159ff930
Parents: 7515e75
Author: Naganarasimha <naganarasimha...@apache.org>
Authored: Wed Mar 15 01:22:25 2017 +0530
Committer: Naganarasimha <naganarasimha...@apache.org>
Committed: Wed Mar 15 01:22:25 2017 +0530

----------------------------------------------------------------------
 .../scheduler/capacity/CapacitySchedulerQueueManager.java     | 7 +++++--
 .../resourcemanager/scheduler/capacity/ParentQueue.java       | 6 ++++--
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/0a3aa40f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerQueueManager.java
----------------------------------------------------------------------
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/CapacitySchedulerQueueManager.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/CapacitySchedulerQueueManager.java
index 8cae6c3..76cb5d6 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/CapacitySchedulerQueueManager.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/CapacitySchedulerQueueManager.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -312,10 +313,12 @@ public class CapacitySchedulerQueueManager implements 
SchedulerQueueManager<
         existingQueues.put(queueName, queue);
       }
     }
-    for (Map.Entry<String, CSQueue> e : existingQueues.entrySet()) {
+    for (Iterator<Map.Entry<String, CSQueue>> itr = existingQueues.entrySet()
+        .iterator(); itr.hasNext();) {
+      Map.Entry<String, CSQueue> e = itr.next();
       String queueName = e.getKey();
       if (!newQueues.containsKey(queueName)) {
-        existingQueues.remove(queueName);
+        itr.remove();
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0a3aa40f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java
----------------------------------------------------------------------
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/ParentQueue.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/ParentQueue.java
index 6f82fcc..f84b7a4 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/ParentQueue.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/ParentQueue.java
@@ -333,10 +333,12 @@ public class ParentQueue extends AbstractCSQueue {
       }
 
       // remove the deleted queue in the refreshed xml.
-      for (Map.Entry<String, CSQueue> e : currentChildQueues.entrySet()) {
+      for (Iterator<Map.Entry<String, CSQueue>> itr = currentChildQueues
+          .entrySet().iterator(); itr.hasNext();) {
+        Map.Entry<String, CSQueue> e = itr.next();
         String queueName = e.getKey();
         if (!newChildQueues.containsKey(queueName)) {
-          currentChildQueues.remove(queueName);
+          itr.remove();
         }
       }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to