You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2015/09/28 15:50:30 UTC
incubator-slider git commit: SLIDER-943 Container Escalation failing:
update outstanding request priority
Repository: incubator-slider
Updated Branches:
refs/heads/develop 4083cffea -> 733bd5632
SLIDER-943 Container Escalation failing: update outstanding request priority
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/733bd563
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/733bd563
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/733bd563
Branch: refs/heads/develop
Commit: 733bd5632c10f1a470ec63f0147ef3b0076dc2e6
Parents: 4083cff
Author: Steve Loughran <st...@apache.org>
Authored: Mon Sep 28 15:43:45 2015 +0200
Committer: Steve Loughran <st...@apache.org>
Committed: Mon Sep 28 15:43:45 2015 +0200
----------------------------------------------------------------------
.../apache/slider/common/tools/SliderUtils.java | 24 ++++++++++++++++++++
.../appmaster/state/OutstandingRequest.java | 11 +++++++--
2 files changed, 33 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/733bd563/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java b/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java
index 643c823..4ff8d11 100644
--- a/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java
+++ b/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java
@@ -47,6 +47,7 @@ import org.apache.hadoop.yarn.api.records.ApplicationReport;
import org.apache.hadoop.yarn.api.records.Container;
import org.apache.hadoop.yarn.api.records.LocalResource;
import org.apache.hadoop.yarn.api.records.YarnApplicationState;
+import org.apache.hadoop.yarn.client.api.AMRMClient;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.slider.Slider;
import org.apache.slider.api.InternalKeys;
@@ -2366,4 +2367,27 @@ public final class SliderUtils {
public static Map<String, String> getSystemEnv() {
return System.getenv();
}
+
+ public static String requestToString(AMRMClient.ContainerRequest request) {
+ StringBuffer buffer = new StringBuffer(request.toString());
+ buffer.append("; ");
+ buffer.append("relaxLocality=").append(request.getRelaxLocality()).append("; ");
+ String labels = request.getNodeLabelExpression();
+ if (labels != null) {
+ buffer.append("nodeLabels=").append(labels).append("; ");
+ }
+ List<String> nodes = request.getNodes();
+ if (nodes != null) {
+ buffer.append("Nodes = [")
+ .append(join(nodes, ", ", false))
+ .append("]; ");
+ }
+ List<String> racks = request.getRacks();
+ if (racks != null) {
+ buffer.append("racks = [")
+ .append(join(racks, ", ", false))
+ .append("]; ");
+ }
+ return buffer.toString();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/733bd563/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
index e269ccd..f5689dd 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
@@ -24,6 +24,7 @@ import org.apache.hadoop.yarn.api.records.Priority;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.client.api.AMRMClient;
import org.apache.hadoop.yarn.client.api.InvalidContainerRequestException;
+import org.apache.slider.common.tools.SliderUtils;
import org.apache.slider.server.appmaster.operations.CancelSingleRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -248,6 +249,9 @@ public final class OutstandingRequest {
// it is tagged as unlocated because it needs to go into a different
// set of outstanding requests from the strict placements
Priority pri = ContainerPriority.createPriority(roleId, false);
+ // update the field
+ priority = pri.getPriority();
+
String[] nodes;
List<String> issuedRequestNodes = issuedRequest.getNodes();
if (label == null && issuedRequestNodes != null) {
@@ -338,15 +342,18 @@ public final class OutstandingRequest {
@Override
public String toString() {
+ int requestRoleId = ContainerPriority.extractRole(getPriority());
+ boolean requestHasLocation = ContainerPriority.hasLocation(getPriority());
final StringBuilder sb = new StringBuilder("OutstandingRequest{");
- sb.append("roleId=").append(roleId);
+ sb.append("roleId=").append(this.roleId);
sb.append(", node=").append(node);
sb.append(", hostname='").append(hostname).append('\'');
- sb.append(", issuedRequest=").append(issuedRequest);
+ sb.append(", hasLocation=").append(requestHasLocation);
sb.append(", requestedTimeMillis=").append(requestedTimeMillis);
sb.append(", mayEscalate=").append(mayEscalate);
sb.append(", escalated=").append(escalated);
sb.append(", escalationTimeoutMillis=").append(escalationTimeoutMillis);
+ sb.append(", issuedRequest=").append(SliderUtils.requestToString(issuedRequest));
sb.append('}');
return sb.toString();
}