String hostname3 = "localhost3";
Resource capability = recordFactory.newRecordInstance(Resource.class);
RegisterNodeManagerRequest request1 = recordFactory
.newRecordInstance(RegisterNodeManagerRequest.class);
NodeId nodeId1 = Records.newRecord(NodeId.class);
nodeId1.setPort(0);
nodeId1.setHost(hostname1);
request1.setNodeId(nodeId1);
request1.setHttpPort(0);
request1.setResource(capability);
resourceTrackerService.registerNodeManager(request1);
RegisterNodeManagerRequest request2 = recordFactory
.newRecordInstance(RegisterNodeManagerRequest.class);
NodeId nodeId2 = Records.newRecord(NodeId.class);
nodeId2.setPort(0);
nodeId2.setHost(hostname2);
request2.setNodeId(nodeId2);
request2.setHttpPort(0);
request2.setResource(capability);
resourceTrackerService.registerNodeManager(request2);
int waitCount = 0;
while(ClusterMetrics.getMetrics().getNumLostNMs()!=2 && waitCount ++<20){
synchronized (this) {
wait(100);
}
}
Assert.assertEquals(2, ClusterMetrics.getMetrics().getNumLostNMs());
request3 = recordFactory
.newRecordInstance(RegisterNodeManagerRequest.class);
NodeId nodeId3 = Records.newRecord(NodeId.class);
nodeId3.setPort(0);
nodeId3.setHost(hostname3);
request3.setNodeId(nodeId3);
request3.setHttpPort(0);
request3.setResource(capability);
resourceTrackerService
.registerNodeManager(request3).getRegistrationResponse();