You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-commits@hadoop.apache.org by bo...@apache.org on 2012/11/10 00:15:47 UTC
svn commit: r1407688 - in
/hadoop/common/branches/branch-0.23/hadoop-yarn-project: CHANGES.txt
hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java
Author: bobby
Date: Fri Nov 9 23:15:46 2012
New Revision: 1407688
URL: http://svn.apache.org/viewvc?rev=1407688&view=rev
Log:
svn merge -r 1407610:1407609 . reverted YARN-206
Modified:
hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java
Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt?rev=1407688&r1=1407687&r2=1407688&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt Fri Nov 9 23:15:46 2012
@@ -77,9 +77,6 @@ Release 0.23.5 - UNRELEASED
YARN-201. Fix CapacityScheduler to be less conservative for starved
off-switch requests. (jlowe via acmurthy)
- YARN-206. TestApplicationCleanup.testContainerCleanup occasionally fails.
- (jlowe via jeagles)
-
Release 0.23.4 - UNRELEASED
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java?rev=1407688&r1=1407687&r2=1407688&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationCleanup.java Fri Nov 9 23:15:46 2012
@@ -81,31 +81,33 @@ public class TestApplicationCleanup {
new ArrayList<ContainerId>()).getAllocatedContainers();
int contReceived = conts.size();
int waitCount = 0;
- while (contReceived < request && waitCount++ < 200) {
- LOG.info("Got " + contReceived + " containers. Waiting to get "
- + request);
- Thread.sleep(100);
+ while (contReceived < request && waitCount++ < 20) {
conts = am.allocate(new ArrayList<ResourceRequest>(),
new ArrayList<ContainerId>()).getAllocatedContainers();
contReceived += conts.size();
+ LOG.info("Got " + contReceived + " containers. Waiting to get "
+ + request);
+ Thread.sleep(2000);
}
- Assert.assertEquals(request, contReceived);
+ Assert.assertEquals(request, conts.size());
am.unregisterAppAttempt();
am.waitForState(RMAppAttemptState.FINISHED);
+ int cleanedConts = 0;
+ int cleanedApps = 0;
+ List<ContainerId> contsToClean = null;
+ List<ApplicationId> apps = null;
+
//currently only containers are cleaned via this
//AM container is cleaned via container launcher
- resp = nm1.nodeHeartbeat(true);
- List<ContainerId> contsToClean = resp.getContainersToCleanupList();
- List<ApplicationId> apps = resp.getApplicationsToCleanupList();
- int cleanedConts = contsToClean.size();
- int cleanedApps = apps.size();
waitCount = 0;
while ((cleanedConts < 3 || cleanedApps < 1) && waitCount++ < 20) {
HeartbeatResponse resp = nm1.nodeHeartbeat(true);
contsToClean = resp.getContainersToCleanupList();
apps = resp.getApplicationsToCleanupList();
+ LOG.info("Waiting to get cleanup events.. cleanedConts: "
+ + cleanedConts + " cleanedApps: " + cleanedApps);
cleanedConts += contsToClean.size();
cleanedApps += apps.size();
Thread.sleep(1000);
@@ -166,20 +168,20 @@ public class TestApplicationCleanup {
new ArrayList<ContainerId>()).getAllocatedContainers();
int contReceived = conts.size();
int waitCount = 0;
- while (contReceived < request && waitCount++ < 200) {
- LOG.info("Got " + contReceived + " containers. Waiting to get "
- + request);
- Thread.sleep(100);
+ while (contReceived < request && waitCount++ < 20) {
conts = am.allocate(new ArrayList<ResourceRequest>(),
new ArrayList<ContainerId>()).getAllocatedContainers();
dispatcher.await();
contReceived += conts.size();
+ LOG.info("Got " + contReceived + " containers. Waiting to get "
+ + request);
+ Thread.sleep(2000);
}
- Assert.assertEquals(request, contReceived);
+ Assert.assertEquals(request, conts.size());
// Release a container.
ArrayList<ContainerId> release = new ArrayList<ContainerId>();
- release.add(conts.get(0).getId());
+ release.add(conts.get(1).getId());
am.allocate(new ArrayList<ResourceRequest>(), release);
dispatcher.await();
@@ -190,7 +192,7 @@ public class TestApplicationCleanup {
new HashMap<ApplicationId, List<ContainerStatus>>();
ArrayList<ContainerStatus> containerStatusList =
new ArrayList<ContainerStatus>();
- containerStatusList.add(BuilderUtils.newContainerStatus(conts.get(0)
+ containerStatusList.add(BuilderUtils.newContainerStatus(conts.get(1)
.getId(), ContainerState.RUNNING, "nothing", 0));
containerStatuses.put(app.getApplicationId(), containerStatusList);
@@ -199,13 +201,13 @@ public class TestApplicationCleanup {
List<ContainerId> contsToClean = resp.getContainersToCleanupList();
int cleanedConts = contsToClean.size();
waitCount = 0;
- while (cleanedConts < 1 && waitCount++ < 200) {
- LOG.info("Waiting to get cleanup events.. cleanedConts: " + cleanedConts);
- Thread.sleep(100);
+ while (cleanedConts < 1 && waitCount++ < 20) {
resp = nm1.nodeHeartbeat(true);
dispatcher.await();
contsToClean = resp.getContainersToCleanupList();
+ LOG.info("Waiting to get cleanup events.. cleanedConts: " + cleanedConts);
cleanedConts += contsToClean.size();
+ Thread.sleep(1000);
}
LOG.info("Got cleanup for " + contsToClean.get(0));
Assert.assertEquals(1, cleanedConts);
@@ -216,7 +218,7 @@ public class TestApplicationCleanup {
+ "NM getting cleanup");
containerStatuses.clear();
containerStatusList.clear();
- containerStatusList.add(BuilderUtils.newContainerStatus(conts.get(0)
+ containerStatusList.add(BuilderUtils.newContainerStatus(conts.get(1)
.getId(), ContainerState.RUNNING, "nothing", 0));
containerStatuses.put(app.getApplicationId(), containerStatusList);
@@ -227,13 +229,13 @@ public class TestApplicationCleanup {
// The cleanup list won't be instantaneous as it is given out by scheduler
// and not RMNodeImpl.
waitCount = 0;
- while (cleanedConts < 1 && waitCount++ < 200) {
- LOG.info("Waiting to get cleanup events.. cleanedConts: " + cleanedConts);
- Thread.sleep(100);
+ while (cleanedConts < 1 && waitCount++ < 20) {
resp = nm1.nodeHeartbeat(true);
dispatcher.await();
contsToClean = resp.getContainersToCleanupList();
+ LOG.info("Waiting to get cleanup events.. cleanedConts: " + cleanedConts);
cleanedConts += contsToClean.size();
+ Thread.sleep(1000);
}
LOG.info("Got cleanup for " + contsToClean.get(0));
Assert.assertEquals(1, cleanedConts);