diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java index cbb69f23d5..03951382bc 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/MiniYARNCluster.java @@ -653,9 +653,8 @@ protected NodeStatus getSimulatedNodeStatus(NodeStatus currentStatus) { if(nodeStatus == null) { return currentStatus; } else { - // Increment response ID, the RMNodeStatusEvent will not get recorded - // for a duplicate heartbeat - nodeStatus.setResponseId(nodeStatus.getResponseId() + 1); + // Use the same responseId for the custom node status + nodeStatus.setResponseId(currentStatus.getResponseId()); return nodeStatus; } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnClusterNodeUtilization.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnClusterNodeUtilization.java index a9413026b0..d1ccc9a6fe 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnClusterNodeUtilization.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestMiniYarnClusterNodeUtilization.java @@ -32,9 +32,6 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.MiniYARNCluster.CustomNodeManager; -import org.apache.hadoop.yarn.server.api.ResourceTracker; -import org.apache.hadoop.yarn.server.api.ServerRMProxy; -import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest; import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; import org.apache.hadoop.yarn.server.api.records.NodeStatus; import org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdater; @@ -87,8 +84,7 @@ public void setup() { assertFalse("RM never turned active", -1 == cluster.getActiveRMIndex()); nm = (CustomNodeManager)cluster.getNodeManager(0); - int responseId = 1; - nodeStatus = createNodeStatus(nm.getNMContext().getNodeId(), responseId, + nodeStatus = createNodeStatus(nm.getNMContext().getNodeId(), 0, CONTAINER_PMEM_1, CONTAINER_VMEM_1, CONTAINER_CPU_1, NODE_PMEM_1, NODE_VMEM_1, NODE_CPU_1); nm.setNodeStatus(nodeStatus); @@ -105,23 +101,14 @@ public void testUpdateNodeUtilization() assertTrue("NMs fail to connect to the RM", cluster.waitForNodeManagersToConnect(10000)); - // Simulate heartbeat using NodeStatus fixture - NodeHeartbeatRequest request = - NodeHeartbeatRequest.newInstance(nodeStatus, null, null, null); - ResourceTracker tracker = - ServerRMProxy.createRMProxy(conf, ResourceTracker.class); - tracker.nodeHeartbeat(request); - // Give the heartbeat time to propagate to the RM verifySimulatedUtilization(); // Alter utilization - int responseId = 10; - nodeStatus = createNodeStatus(nm.getNMContext().getNodeId(), responseId, + nodeStatus = createNodeStatus(nm.getNMContext().getNodeId(), 0, CONTAINER_PMEM_2, CONTAINER_VMEM_2, CONTAINER_CPU_2, NODE_PMEM_2, NODE_VMEM_2, NODE_CPU_2); nm.setNodeStatus(nodeStatus); - tracker.nodeHeartbeat(request); // Give the heartbeat time to propagate to the RM verifySimulatedUtilization(); @@ -145,8 +132,7 @@ public void testMockNodeStatusHeartbeat() verifySimulatedUtilization(); // Alter utilization - int responseId = 20; - nodeStatus = createNodeStatus(nm.getNMContext().getNodeId(), responseId, + nodeStatus = createNodeStatus(nm.getNMContext().getNodeId(), 0, CONTAINER_PMEM_2, CONTAINER_VMEM_2, CONTAINER_CPU_2, NODE_PMEM_2, NODE_VMEM_2, NODE_CPU_2); nm.setNodeStatus(nodeStatus);