Repository: incubator-slider Updated Branches: refs/heads/develop b4b517b3d -> bf1b41d70
SLIDER-1214 Update container log links to log-server URL only for a completed application Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/bf1b41d7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/bf1b41d7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/bf1b41d7 Branch: refs/heads/develop Commit: bf1b41d701b0f87c4f3920c9eb75120167963b9e Parents: b4b517b Author: Gour Saha <gourks...@apache.org> Authored: Tue Feb 28 19:01:48 2017 -0800 Committer: Gour Saha <gourks...@apache.org> Committed: Tue Feb 28 19:01:48 2017 -0800 ---------------------------------------------------------------------- .../main/java/org/apache/slider/api/ResourceKeys.java | 2 +- .../apache/slider/api/types/ContainerInformation.java | 3 +++ .../slider/server/appmaster/SliderAppMaster.java | 2 ++ .../slider/server/appmaster/state/AppState.java | 14 +++++++++++++- 4 files changed, 19 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/bf1b41d7/slider-core/src/main/java/org/apache/slider/api/ResourceKeys.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/api/ResourceKeys.java b/slider-core/src/main/java/org/apache/slider/api/ResourceKeys.java index d6d8789..295f7cd 100644 --- a/slider-core/src/main/java/org/apache/slider/api/ResourceKeys.java +++ b/slider-core/src/main/java/org/apache/slider/api/ResourceKeys.java @@ -75,7 +75,7 @@ public interface ResourceKeys { * If normalization is set to false, then if the resource (memory and/or * vcore) requested by a role is higher than YARN limits, then the resource * request is not normalized. If this causes failures at the YARN level then - * applications are expecting that to happen. Default value is false. + * applications are expecting that to happen. Default value is true. */ String YARN_RESOURCE_NORMALIZATION_ENABLED = "yarn.resource.normalization.enabled"; http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/bf1b41d7/slider-core/src/main/java/org/apache/slider/api/types/ContainerInformation.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/api/types/ContainerInformation.java b/slider-core/src/main/java/org/apache/slider/api/types/ContainerInformation.java index 3b5b590..dcd6853 100644 --- a/slider-core/src/main/java/org/apache/slider/api/types/ContainerInformation.java +++ b/slider-core/src/main/java/org/apache/slider/api/types/ContainerInformation.java @@ -22,6 +22,7 @@ import java.io.Serializable; import java.util.Comparator; import org.apache.hadoop.registry.client.binding.JsonSerDeser; +import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.map.annotate.JsonSerialize; @@ -52,6 +53,8 @@ public class ContainerInformation { */ public String[] output; public String logLink; + @JsonIgnore + public String logServerLogLink; public String getContainerId() { return containerId; http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/bf1b41d7/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java index bc0339a..f076e87 100644 --- a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java +++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java @@ -1998,6 +1998,8 @@ public class SliderAppMaster extends AbstractSliderLaunchedService } finally { List<AbstractRMOperation> operations = appState .releaseAllContainers(releaseMessage); + // need to call final log link update after we release all containers + appState.updateAllContainerLogLinks(); providerRMOperationHandler.execute(operations); // now apply the operations execute(operations); http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/bf1b41d7/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java index 187c292..56b1b2a 100644 --- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java +++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java @@ -2395,6 +2395,18 @@ public class AppState { return operations; } + public synchronized void updateAllContainerLogLinks() { + if (getApplicationDiagnostics().getContainers().isEmpty()) { + return; + } + for (ContainerInformation ci : getApplicationDiagnostics() + .getContainers()) { + if (ci.logServerLogLink != null) { + ci.logLink = ci.logServerLogLink; + } + } + } + /** * Event handler for allocated containers: builds up the lists * of assignment actions (what to run where), and possibly @@ -2606,7 +2618,7 @@ public class AppState { } containerInfo.state = state; if (logLink != null) { - containerInfo.logLink = logLink; + containerInfo.logServerLogLink = logLink; } containerInfo.completionTime = completionTime; }