@Override public void completedContainer(Resource clusterResource, FiCaSchedulerApp application, FiCaSchedulerNode node, RMContainer rmContainer, ContainerStatus containerStatus, RMContainerEventType event, CSQueue completedChildQueue, boolean sortQueues) { if (application != null) { internalReleaseResource(clusterResource, node, rmContainer.getContainer().getResource()); // Inform the parent if (parent != null) { // complete my parent parent.completedContainer(clusterResource, application, node, rmContainer, null, event, this, sortQueues); } } }
static LeafQueue stubLeafQueue(LeafQueue queue) { // Mock some methods for ease in these unit tests // 1. Stub out LeafQueue.parent.completedContainer CSQueue parent = queue.getParent(); doNothing().when(parent).completedContainer( any(Resource.class), any(FiCaSchedulerApp.class), any(FiCaSchedulerNode.class), any(RMContainer.class), any(ContainerStatus.class), any(RMContainerEventType.class), any(CSQueue.class), anyBoolean()); // Stub out parent queue's accept and apply. doReturn(true).when(parent).accept(any(Resource.class), any(ResourceCommitRequest.class)); doNothing().when(parent).apply(any(Resource.class), any(ResourceCommitRequest.class)); return queue; }
parent.completedContainer(clusterResource, application, node, rmContainer, null, event, this, sortQueues);
parent.completedContainer(clusterResource, application, node, rmContainer, null, event, this, sortQueues);
static LeafQueue stubLeafQueue(LeafQueue queue) { // Mock some methods for ease in these unit tests // 1. LeafQueue.createContainer to return dummy containers doAnswer(new Answer<Container>() { @Override public Container answer(InvocationOnMock invocation) throws Throwable { final FiCaSchedulerApp application = (FiCaSchedulerApp) (invocation .getArguments()[0]); final ContainerId containerId = TestUtils .getMockContainerId(application); Container container = TestUtils.getMockContainer(containerId, ((FiCaSchedulerNode) (invocation.getArguments()[1])).getNodeID(), (Resource) (invocation.getArguments()[2]), ((Priority) invocation.getArguments()[3])); return container; } }).when(queue).createContainer(any(FiCaSchedulerApp.class), any(FiCaSchedulerNode.class), any(Resource.class), any(Priority.class)); // 2. Stub out LeafQueue.parent.completedContainer CSQueue parent = queue.getParent(); doNothing().when(parent).completedContainer(any(Resource.class), any(FiCaSchedulerApp.class), any(FiCaSchedulerNode.class), any(RMContainer.class), any(ContainerStatus.class), any(RMContainerEventType.class), any(CSQueue.class), anyBoolean()); return queue; }
doNothing().when(parent).completedContainer( any(Resource.class), any(FiCaSchedulerApp.class), any(FiCaSchedulerNode.class), any(RMContainer.class), any(ContainerStatus.class),
getParent().completedContainer(clusterResource, application, node, rmContainer, null, event, this, sortQueues);
getParent().completedContainer(clusterResource, application, node, rmContainer, null, event, this, sortQueues);
getParent().completedContainer(clusterResource, application, node, rmContainer, null, event, this, sortQueues);
d.completedContainer(clusterResource, app_0, node_0, rmContainer, null, RMContainerEventType.KILL, null, true); a.completedContainer(clusterResource, app_0, node_0, rmContainer, null, RMContainerEventType.KILL, null, true); verifyQueueMetrics(a, 2*GB, clusterResource); b.completedContainer(clusterResource, app_0, node_0, rmContainer, null, RMContainerEventType.KILL, null, true); verifyQueueMetrics(a, 2*GB, clusterResource);
d.completedContainer(clusterResource, app_0, node_0, rmContainer, null, RMContainerEventType.KILL, null, true); a.completedContainer(clusterResource, app_0, node_0, rmContainer, null, RMContainerEventType.KILL, null, true); verifyQueueMetrics(a, 2*GB, clusterResource); b.completedContainer(clusterResource, app_0, node_0, rmContainer, null, RMContainerEventType.KILL, null, true); verifyQueueMetrics(a, 2*GB, clusterResource);