You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by te...@apache.org on 2014/10/28 21:30:41 UTC
git commit: SLIDER-578 Change RoleHistory#failedNodes to Set
Repository: incubator-slider
Updated Branches:
refs/heads/develop 0908d8fc8 -> 90d4331d3
SLIDER-578 Change RoleHistory#failedNodes to Set
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/90d4331d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/90d4331d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/90d4331d
Branch: refs/heads/develop
Commit: 90d4331d3dea09ac57b0d6548158fca5ec8e69c6
Parents: 0908d8f
Author: tedyu <yu...@gmail.com>
Authored: Tue Oct 28 13:30:27 2014 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Tue Oct 28 13:30:27 2014 -0700
----------------------------------------------------------------------
.../server/appmaster/state/RoleHistory.java | 31 ++++++++++++--------
1 file changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/90d4331d/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java
index b9c266e..2b35ad5 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java
@@ -18,7 +18,17 @@
package org.apache.slider.server.appmaster.state;
-import com.google.common.annotations.VisibleForTesting;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.yarn.api.records.Container;
@@ -33,14 +43,7 @@ import org.apache.slider.server.avro.RoleHistoryWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import com.google.common.annotations.VisibleForTesting;
/**
* The Role History.
@@ -93,7 +96,7 @@ public class RoleHistory {
* Track the failed nodes. Currently used to make wiser decision of container
* ask with/without locality. Has other potential uses as well.
*/
- private Map<String, Object> failedNodes = new HashMap<String, Object>();
+ private Set<String> failedNodes = new HashSet<String>();
// dummy to be used in maps for faster lookup where we don't care about values
private final Object DUMMY_VALUE = new Object();
@@ -682,7 +685,7 @@ public class RoleHistory {
}
if (updatedNode.getNodeState() != null
&& updatedNode.getNodeState().isUnusable()) {
- failedNodes.put(hostname, DUMMY_VALUE);
+ failedNodes.add(hostname);
nodemap.remove(hostname);
} else {
failedNodes.remove(hostname);
@@ -741,7 +744,7 @@ public class RoleHistory {
available = false;
} else {
available = nodeEntry.containerCompleted(wasReleased);
- boolean isFailedNode = failedNodes.containsKey(RoleHistoryUtils
+ boolean isFailedNode = failedNodes.contains(RoleHistoryUtils
.hostnameOf(container));
if (!isFailedNode) {
maybeQueueNodeForWork(container, nodeEntry, available);
@@ -816,7 +819,9 @@ public class RoleHistory {
* @return the list
*/
public List<String> cloneFailedNodes() {
- return new ArrayList<String>(failedNodes.keySet());
+ List<String> lst = new ArrayList<String>();
+ lst.addAll(failedNodes);
+ return lst;
}
}