This is an automated email from the ASF dual-hosted git repository.
jeagles pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-2.10 by this push:
new 712da57 YARN-10255. fix intermittent failure
TestContainerSchedulerQueuing.testContainerUpdateExecTypeGuaranteedToOpportunistic
in branch-2.10 (Ahmed Hussein via jeagles)
712da57 is described below
commit 712da57658bb3f46f506a291cdc4d80854701a41
Author: Ahmed Hussein <[email protected]>
AuthorDate: Thu Apr 30 17:50:55 2020 -0500
YARN-10255. fix intermittent failure
TestContainerSchedulerQueuing.testContainerUpdateExecTypeGuaranteedToOpportunistic
in branch-2.10 (Ahmed Hussein via jeagles)
Signed-off-by: Jonathan Eagles <[email protected]>
---
.../scheduler/TestContainerSchedulerQueuing.java | 42 +++++++++++++---------
1 file changed, 26 insertions(+), 16 deletions(-)
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java
index 4abea57..202bd08 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java
@@ -18,9 +18,11 @@
package org.apache.hadoop.yarn.server.nodemanager.containermanager.scheduler;
+import com.google.common.base.Supplier;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -29,6 +31,7 @@ import java.util.concurrent.ConcurrentMap;
import org.apache.hadoop.fs.UnsupportedFileSystemException;
import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.test.GenericTestUtils;
import org.apache.hadoop.yarn.api.protocolrecords.ContainerUpdateRequest;
import org.apache.hadoop.yarn.api.protocolrecords.ContainerUpdateResponse;
import org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusesRequest;
@@ -1216,7 +1219,7 @@ public class TestContainerSchedulerQueuing extends
BaseContainerManagerTest {
@Test
public void testContainerUpdateExecTypeGuaranteedToOpportunistic()
- throws IOException, YarnException, InterruptedException {
+ throws Exception {
delayContainers = true;
containerManager.start();
// Construct the Container-id
@@ -1253,20 +1256,27 @@ public class TestContainerSchedulerQueuing extends
BaseContainerManagerTest {
1, updateResponse.getSuccessfullyUpdatedContainers().size());
Assert.assertTrue(updateResponse.getFailedRequests().isEmpty());
- //Make sure the container is running
- List<ContainerId> statList = new ArrayList<ContainerId>();
- statList.add(cId);
- GetContainerStatusesRequest statRequest =
- GetContainerStatusesRequest.newInstance(statList);
- 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());
- }
+ final GetContainerStatusesRequest statRequest =
+ GetContainerStatusesRequest.newInstance(
+ Collections.singletonList(cId));
+ final org.apache.hadoop.yarn.api.records.ContainerState expectedState =
+ org.apache.hadoop.yarn.api.records.ContainerState.RUNNING;
+
+ GenericTestUtils.waitFor(new Supplier<Boolean>() {
+ @Override
+ public Boolean get() {
+ List<ContainerStatus> containerStatuses;
+ try {
+ containerStatuses = containerManager
+ .getContainerStatuses(statRequest).getContainerStatuses();
+ } catch (YarnException | IOException e) {
+ return false;
+ }
+ Assert.assertEquals(1, containerStatuses.size());
+ ContainerStatus status = containerStatuses.get(0);
+ return (status.getState() == expectedState
+ && status.getExecutionType() == ExecutionType.OPPORTUNISTIC);
+ }
+ }, 20, 10000);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]