Repository: incubator-slider
Updated Branches:
  refs/heads/develop cfa66cabc -> de725c240


SLIDER-1156: outstanding request tracker edits a map while iterating over it. 
Fix had to turn off disk space checking in minidfs clusters...my laptop has run 
out of HDD space


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/8e80ed13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/8e80ed13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/8e80ed13

Branch: refs/heads/develop
Commit: 8e80ed131359626a78eb3be5008408c3d4dcf073
Parents: 88e6d66
Author: Steve Loughran <ste...@apache.org>
Authored: Mon Jul 18 10:34:55 2016 +0100
Committer: Steve Loughran <ste...@apache.org>
Committed: Mon Jul 18 10:34:55 2016 +0100

----------------------------------------------------------------------
 .../server/appmaster/state/OutstandingRequestTracker.java     | 7 ++++++-
 .../org/apache/slider/test/YarnMiniClusterTestBase.groovy     | 1 +
 2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/8e80ed13/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java
index 64698f2..c16aa3c 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java
@@ -402,16 +402,21 @@ public class OutstandingRequestTracker {
     List<AbstractRMOperation> operations = new ArrayList<>();
 
     // first, all placed requests
+    List<RoleHostnamePair> requestsToRemove = new 
ArrayList<>(placedRequests.size());
     for (Map.Entry<RoleHostnamePair, OutstandingRequest> entry : 
placedRequests.entrySet()) {
       OutstandingRequest outstandingRequest = entry.getValue();
       synchronized (outstandingRequest) {
         if (outstandingRequest.isAntiAffine()) {
           // time to escalate
           operations.add(outstandingRequest.createCancelOperation());
-          placedRequests.remove(entry.getKey());
+          requestsToRemove.add(entry.getKey());
         }
       }
     }
+    for (RoleHostnamePair keys : requestsToRemove) {
+      placedRequests.remove(keys);
+    }
+
     // second, all open requests
     ListIterator<OutstandingRequest> orit = openRequests.listIterator();
     while (orit.hasNext()) {

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/8e80ed13/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
index faaf571..feac252 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
@@ -303,6 +303,7 @@ public abstract class YarnMiniClusterTestBase extends 
ServiceLauncherBaseTest {
         YarnConfiguration.NM_MAX_PER_DISK_UTILIZATION_PERCENTAGE,
         99.0f)
     conf.setInt(SliderXmlConfKeys.DFS_NAMENODE_DU_RESERVED_KEY, 2 * 1024 * 
1024)
+    conf.setBoolean("yarn.nodemanager.disk-health-checker.enable", false)
   }
 
   /**

Reply via email to