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 tg...@apache.org on 2013/03/29 16:32:16 UTC
svn commit: r1462500 - in
/hadoop/common/branches/branch-2/hadoop-yarn-project: ./
hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/
hadoop-yarn/hadoop-yarn...
Author: tgraves
Date: Fri Mar 29 15:32:16 2013
New Revision: 1462500
URL: http://svn.apache.org/r1462500
Log:
YARN-460. CS user left in list of active users for the queue even when application finished (tgraves)
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java
Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt?rev=1462500&r1=1462499&r2=1462500&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt Fri Mar 29 15:32:16 2013
@@ -440,6 +440,9 @@ Release 0.23.7 - UNRELEASED
YARN-109. .tmp file is not deleted for localized archives (Mayank Bansal
via bobby)
+ YARN-460. CS user left in list of active users for the queue even when
+ application finished (tgraves)
+
Release 0.23.6 - UNRELEASED
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java?rev=1462500&r1=1462499&r2=1462500&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java Fri Mar 29 15:32:16 2013
@@ -504,6 +504,14 @@ implements ResourceScheduler, CapacitySc
synchronized (application) {
+ // make sure we aren't stopping/removing the application
+ // when the allocate comes in
+ if (application.isStopped()) {
+ LOG.info("Calling allocate on a stopped " +
+ "application " + applicationAttemptId);
+ return EMPTY_ALLOCATION;
+ }
+
if (!ask.isEmpty()) {
if(LOG.isDebugEnabled()) {
Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java?rev=1462500&r1=1462499&r2=1462500&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java Fri Mar 29 15:32:16 2013
@@ -91,6 +91,9 @@ public class FiCaSchedulerApp extends Sc
final Map<Priority, Map<NodeId, RMContainer>> reservedContainers =
new HashMap<Priority, Map<NodeId, RMContainer>>();
+
+ private boolean isStopped = false;
+
/**
* Count how many times the application has been given an opportunity
@@ -132,7 +135,9 @@ public class FiCaSchedulerApp extends Sc
public synchronized void updateResourceRequests(
List<ResourceRequest> requests) {
- this.appSchedulingInfo.updateResourceRequests(requests);
+ if (!isStopped) {
+ this.appSchedulingInfo.updateResourceRequests(requests);
+ }
}
public Map<String, ResourceRequest> getResourceRequests(Priority priority) {
@@ -168,6 +173,10 @@ public class FiCaSchedulerApp extends Sc
return this.appSchedulingInfo.isPending();
}
+ public synchronized boolean isStopped() {
+ return this.isStopped;
+ }
+
public String getQueueName() {
return this.appSchedulingInfo.getQueueName();
}
@@ -183,6 +192,7 @@ public class FiCaSchedulerApp extends Sc
public synchronized void stop(RMAppAttemptState rmAppAttemptFinalState) {
// Cleanup all scheduling information
+ this.isStopped = true;
this.appSchedulingInfo.stop(rmAppAttemptFinalState);
}
@@ -234,6 +244,10 @@ public class FiCaSchedulerApp extends Sc
synchronized public RMContainer allocate(NodeType type, FiCaSchedulerNode node,
Priority priority, ResourceRequest request,
Container container) {
+
+ if (isStopped) {
+ return null;
+ }
// Required sanity check - AM can call 'allocate' to update resource
// request without locking the scheduler, hence we need to check
Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java?rev=1462500&r1=1462499&r2=1462500&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java Fri Mar 29 15:32:16 2013
@@ -252,6 +252,15 @@ public class FifoScheduler implements Re
}
synchronized (application) {
+
+ // make sure we aren't stopping/removing the application
+ // when the allocate comes in
+ if (application.isStopped()) {
+ LOG.info("Calling allocate on a stopped " +
+ "application " + applicationAttemptId);
+ return EMPTY_ALLOCATION;
+ }
+
if (!ask.isEmpty()) {
LOG.debug("allocate: pre-update" +
" applicationId=" + applicationAttemptId +