diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNM.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNM.java index 0aea4b6..c2abd08 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNM.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNM.java @@ -45,14 +45,20 @@ private int responseId; private NodeId nodeId; private final int memory; - private final int vCores = 1; + private final int vCores; private ResourceTrackerService resourceTracker; private final int httpPort = 2; private MasterKey currentContainerTokenMasterKey; private MasterKey currentNMTokenMasterKey; public MockNM(String nodeIdStr, int memory, ResourceTrackerService resourceTracker) { + this(nodeIdStr, memory, 1, resourceTracker); + } + + public MockNM(String nodeIdStr, int memory, int vcores, + ResourceTrackerService resourceTracker) { this.memory = memory; + this.vCores = vcores; this.resourceTracker = resourceTracker; String[] splits = nodeIdStr.split(":"); nodeId = BuilderUtils.newNodeId(splits[0], Integer.parseInt(splits[1])); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java index 522debb..2f5ec71 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java @@ -231,6 +231,14 @@ public MockNM registerNode(String nodeIdStr, int memory) throws Exception { return nm; } + public MockNM registerNode(String nodeIdStr, int memory, + int vcores) throws Exception { + MockNM nm = new MockNM(nodeIdStr, memory, vcores, + getResourceTrackerService()); + nm.registerNode(); + return nm; + } + public void sendNodeStarted(MockNM nm) throws Exception { RMNodeImpl node = (RMNodeImpl) getRMContext().getRMNodes().get( nm.getNodeId()); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java index a24960b..1a16deb 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java @@ -111,13 +111,10 @@ public void testRMRestart() throws Exception { // start like normal because state is empty rm1.start(); - - MockNM nm1 = - new MockNM("127.0.0.1:1234", 15120, rm1.getResourceTrackerService()); - MockNM nm2 = - new MockNM("127.0.0.2:5678", 15120, rm1.getResourceTrackerService()); - nm1.registerNode(); - nm2.registerNode(); // nm2 will not heartbeat with RM1 + + MockNM nm1, nm2; + nm1 = rm1.registerNode("127.0.0.1:1234", 15120, 8); + nm2 = rm1.registerNode("127.0.0.2:5678", 15120, 8); // create app that will not be saved because it will finish RMApp app0 = rm1.submitApp(200); @@ -263,8 +260,8 @@ public void testRMRestart() throws Exception { Assert.assertEquals(NodeAction.RESYNC, hbResponse.getNodeAction()); // new NM to represent NM re-register - nm1 = rm2.registerNode("127.0.0.1:1234", 15120); - nm2 = rm2.registerNode("127.0.0.2:5678", 15120); + nm1 = rm2.registerNode("127.0.0.1:1234", 15120, 8); + nm2 = rm2.registerNode("127.0.0.2:5678", 15120, 8); // verify no more reboot response sent hbResponse = nm1.nodeHeartbeat(true);