Browse Source

Fix class cast exception in release reserved containers in capacity scheduler (mahadev)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/MR-279@1138742 13f79535-47bb-0310-9956-ffa450edef68
Mahadev Konar 14 years ago
parent
commit
2d37d37e93

+ 2 - 0
mapreduce/CHANGES.txt

@@ -4,6 +4,8 @@ Trunk (unreleased changes)
 
 
 
 
     MAPREDUCE-279
     MAPREDUCE-279
+    
+    Fix class cast exception in release reserved containers in capacity scheduler (mahadev)
 
 
     MAPREDUCE-2615. Make killJob go through AM and fix JobSummaryLog.
     MAPREDUCE-2615. Make killJob go through AM and fix JobSummaryLog.
     (Siddharth Seth via llu)
     (Siddharth Seth via llu)

+ 2 - 1
mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java

@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.Set;
 import java.util.Set;
@@ -557,7 +558,7 @@ implements ResourceScheduler, CapacitySchedulerContext {
     Map<Priority, Set<NodeInfo>> reservations = application.getAllReservations();
     Map<Priority, Set<NodeInfo>> reservations = application.getAllReservations();
     for (Map.Entry<Priority, Set<NodeInfo>> e : reservations.entrySet()) {
     for (Map.Entry<Priority, Set<NodeInfo>> e : reservations.entrySet()) {
       Priority priority = e.getKey();
       Priority priority = e.getKey();
-      Set<NodeInfo> reservedNodes = new TreeSet<NodeInfo>(e.getValue());
+      Set<NodeInfo> reservedNodes = new HashSet<NodeInfo>(e.getValue());
       for (NodeInfo node : reservedNodes) {
       for (NodeInfo node : reservedNodes) {
         Resource allocatedResource = 
         Resource allocatedResource = 
           application.getResourceRequest(priority, NodeManagerImpl.ANY).getCapability();
           application.getResourceRequest(priority, NodeManagerImpl.ANY).getCapability();