SLIDER-994 create a node information map in TestMockAppStateAAPlacement
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/e380d190 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/e380d190 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/e380d190 Branch: refs/heads/develop Commit: e380d1901b9b96937c793c6a19baee07b018ee49 Parents: 77aeb25 Author: Steve Loughran <[email protected]> Authored: Mon Nov 23 13:47:31 2015 +0000 Committer: Steve Loughran <[email protected]> Committed: Mon Nov 23 13:47:31 2015 +0000 ---------------------------------------------------------------------- .../slider/api/types/NodeInformation.java | 2 +- .../appstate/TestMockAppStateAAPlacement.groovy | 39 ++++++++++++-------- slider-core/src/test/resources/log4j.properties | 2 + 3 files changed, 27 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/e380d190/slider-core/src/main/java/org/apache/slider/api/types/NodeInformation.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/api/types/NodeInformation.java b/slider-core/src/main/java/org/apache/slider/api/types/NodeInformation.java index e759bc9..4fe5b4c 100644 --- a/slider-core/src/main/java/org/apache/slider/api/types/NodeInformation.java +++ b/slider-core/src/main/java/org/apache/slider/api/types/NodeInformation.java @@ -46,7 +46,7 @@ public class NodeInformation { public String toString() { final StringBuilder sb = new StringBuilder( "NodeInformation{"); - sb.append(", hostname='").append(hostname).append('\''); + sb.append("hostname='").append(hostname).append('\''); sb.append(", state='").append(state).append('\''); sb.append(", labels='").append(labels).append('\''); sb.append(", rackName='").append(rackName).append('\''); http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/e380d190/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy ---------------------------------------------------------------------- diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy index 16d0f87..e43d894 100644 --- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy +++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy @@ -48,11 +48,20 @@ class TestMockAppStateAAPlacement extends BaseMockAppStateAATest private int NODES = 3 + /** + * The YARN engine has a cluster with very few nodes (3) and lots of containers, so + * if AA placement isn't working, there will be affine placements surfacing. + * @return + */ @Override MockYarnEngine createYarnEngine() { new MockYarnEngine(NODES, 8) } + /** + * This is the simplest AA allocation: no lables, so allocate anywhere + * @throws Throwable + */ @Test public void testAllocateAANoLabel() throws Throwable { assert cloneNodemap().size() > 0 @@ -111,6 +120,21 @@ class TestMockAppStateAAPlacement extends BaseMockAppStateAATest ops = appState.reviewRequestAndReleaseNodes() assert ops.size() == 0 assertAllContainersAA(); + + // identify those hosts with an aa role on + def naming = appState.buildNamingMap() + assert naming.size() == 3 + + def name = aaRole.name + assert name == naming[aaRole.key] + def info = appState.roleHistory.getNodeInformationSnapshot(naming); + assert info + + def nodeInformation = info[host] + assert nodeInformation + assert nodeInformation.entries + assert nodeInformation.entries[name] + assert nodeInformation.entries[name].live } @Test @@ -310,22 +334,7 @@ class TestMockAppStateAAPlacement extends BaseMockAppStateAATest appState.reviewRequestAndReleaseNodes() assert aaRole.antiAffinePlacement assert aaRole.AARequestOutstanding - } - - @Test - public void testNodeInstanceSerialization() throws Throwable { - def naming = appState.buildNamingMap() - assert naming.size() == 3 - - def name = aaRole.name - assert naming[aaRole.key] == name - def info = appState.roleHistory.getNodeInformationSnapshot(naming); - assert info - def host = "localhost" - assert info[host] && info[host]?.entries[name]?.live - def nil = new NodeInformationList(info.values()); - assert nil[0].entries[name]?.live } } http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/e380d190/slider-core/src/test/resources/log4j.properties ---------------------------------------------------------------------- diff --git a/slider-core/src/test/resources/log4j.properties b/slider-core/src/test/resources/log4j.properties index ed19a5b..5858f55 100644 --- a/slider-core/src/test/resources/log4j.properties +++ b/slider-core/src/test/resources/log4j.properties @@ -38,6 +38,7 @@ log4j.logger.org.apache.hadoop.yarn.registry=DEBUG #crank back on some noise log4j.logger.org.apache.hadoop.util.Shell=ERROR log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR +log4j.logger.org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager=FATAL log4j.logger.org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner=WARN log4j.logger.org.apache.hadoop.hdfs.server.blockmanagement=WARN log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=WARN @@ -49,6 +50,7 @@ log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl=WAR log4j.logger.org.apache.zookeeper=WARN log4j.logger.org.apache.zookeeper.ClientCnxn=FATAL +log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeResourceMonitorImpl=ERROR log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.security=WARN log4j.logger.org.apache.hadoop.metrics2=ERROR log4j.logger.org.apache.hadoop.util.HostsFileReader=WARN
