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) } /**