YARN-10256. Refactor TestContainerSchedulerQueuing.testContainerUpdateExecTypeGuaranteedToOpportunistic (Ahmed Hussein via jeagles)

Signed-off-by: Jonathan Eagles <jeagles@gmail.com>
(cherry picked from commit f5081a9a5d)
This commit is contained in:
Ahmed Hussein 2020-05-04 10:13:51 -05:00 committed by Jonathan Eagles
parent df16146e7f
commit 1d8350055e
1 changed files with 18 additions and 32 deletions

View File

@ -28,7 +28,6 @@
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentMap;
import com.google.common.base.Supplier;
import org.apache.hadoop.fs.UnsupportedFileSystemException; import org.apache.hadoop.fs.UnsupportedFileSystemException;
import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.test.GenericTestUtils; import org.apache.hadoop.test.GenericTestUtils;
@ -1291,37 +1290,24 @@ public void testContainerUpdateExecTypeGuaranteedToOpportunistic()
1, updateResponse.getSuccessfullyUpdatedContainers().size()); 1, updateResponse.getSuccessfullyUpdatedContainers().size());
Assert.assertTrue(updateResponse.getFailedRequests().isEmpty()); Assert.assertTrue(updateResponse.getFailedRequests().isEmpty());
GetContainerStatusesRequest statRequest = final GetContainerStatusesRequest statRequest =
GetContainerStatusesRequest.newInstance(Collections.singletonList(cId)); GetContainerStatusesRequest.newInstance(
GenericTestUtils.waitFor( Collections.singletonList(cId));
new Supplier<Boolean>() { final org.apache.hadoop.yarn.api.records.ContainerState expectedState =
@Override org.apache.hadoop.yarn.api.records.ContainerState.RUNNING;
public Boolean get() {
GenericTestUtils.waitFor(() -> {
List<ContainerStatus> containerStatuses;
try { try {
List<ContainerStatus> containerStatuses = containerManager containerStatuses = containerManager
.getContainerStatuses(statRequest).getContainerStatuses(); .getContainerStatuses(statRequest).getContainerStatuses();
} catch (YarnException | IOException e) {
return false;
}
Assert.assertEquals(1, containerStatuses.size()); Assert.assertEquals(1, containerStatuses.size());
ContainerStatus status = containerStatuses.get(0); ContainerStatus status = containerStatuses.get(0);
Assert.assertEquals( return (status.getState() == expectedState
org.apache.hadoop.yarn.api.records.ContainerState.RUNNING, && status.getExecutionType() == ExecutionType.OPPORTUNISTIC);
status.getState()); }, 20, 10000);
return status.getExecutionType() == ExecutionType.OPPORTUNISTIC;
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}, 100, 10000);
List<ContainerStatus> containerStatuses = containerManager
.getContainerStatuses(statRequest).getContainerStatuses();
Assert.assertEquals(1, containerStatuses.size());
for (ContainerStatus status : containerStatuses) {
Assert.assertEquals(
org.apache.hadoop.yarn.api.records.ContainerState.RUNNING,
status.getState());
Assert
.assertEquals(ExecutionType.OPPORTUNISTIC, status.getExecutionType());
}
} }
} }