You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ka...@apache.org on 2014/05/31 21:33:10 UTC
svn commit: r1598908 -
/hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java
Author: kasha
Date: Sat May 31 19:33:09 2014
New Revision: 1598908
URL: http://svn.apache.org/r1598908
Log:
YARN-1474. Make schedulers services. (Tsuyoshi Ozawa via kasha)
Modified:
hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java
Modified: hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java?rev=1598908&r1=1598907&r2=1598908&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java (original)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java Sat May 31 19:33:09 2014
@@ -61,10 +61,13 @@ import org.apache.hadoop.yarn.server.res
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer;
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.UpdatedContainerInfo;
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.Allocation;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.QueueMetrics;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerAppReport;
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerApplicationAttempt;
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNodeReport;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAddedSchedulerEvent;
@@ -89,11 +92,13 @@ import com.codahale.metrics.MetricRegist
import com.codahale.metrics.SlidingWindowReservoir;
import com.codahale.metrics.Timer;
-public class ResourceSchedulerWrapper implements
- SchedulerWrapper,ResourceScheduler,Configurable {
+final public class ResourceSchedulerWrapper
+ extends AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>
+ implements SchedulerWrapper, ResourceScheduler, Configurable {
private static final String EOL = System.getProperty("line.separator");
private static final int SAMPLING_SIZE = 60;
private ScheduledExecutorService pool;
+ private RMContext rmContext;
// counters for scheduler allocate/handle operations
private Counter schedulerAllocateCounter;
private Counter schedulerHandleCounter;
@@ -146,6 +151,7 @@ public class ResourceSchedulerWrapper im
public final Logger LOG = Logger.getLogger(ResourceSchedulerWrapper.class);
public ResourceSchedulerWrapper() {
+ super(ResourceSchedulerWrapper.class.getName());
samplerLock = new ReentrantLock();
queueLock = new ReentrantLock();
}
@@ -794,10 +800,39 @@ public class ResourceSchedulerWrapper im
return conf;
}
+ @SuppressWarnings("unchecked")
@Override
- public void reinitialize(Configuration entries, RMContext rmContext)
- throws IOException {
- scheduler.reinitialize(entries, rmContext);
+ public void serviceInit(Configuration conf) throws Exception {
+ ((AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>)
+ scheduler).init(conf);
+ super.serviceInit(conf);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void serviceStart() throws Exception {
+ ((AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>)
+ scheduler).start();
+ super.serviceStart();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void serviceStop() throws Exception {
+ ((AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>)
+ scheduler).stop();
+ super.serviceStop();
+ }
+
+ @Override
+ public void setRMContext(RMContext rmContext) {
+ scheduler.setRMContext(rmContext);
+ }
+
+ @Override
+ public void reinitialize(Configuration conf, RMContext rmContext)
+ throws IOException {
+ scheduler.reinitialize(conf, rmContext);
}
@Override