diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSCapacityScheduler.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSCapacityScheduler.java index b6fe5c0f965..480576e6638 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSCapacityScheduler.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSCapacityScheduler.java @@ -39,7 +39,7 @@ @Private @Unstable public class SLSCapacityScheduler extends CapacityScheduler implements - SchedulerWrapper,Configurable { + SchedulerWrapper, Configurable { private final SLSSchedulerCommons schedulerCommons; private Configuration conf; @@ -96,6 +96,11 @@ public boolean tryCommit(Resource cluster, ResourceCommitRequest r, public void handle(SchedulerEvent schedulerEvent) { schedulerCommons.handle(schedulerEvent); } + + @Override + public void propagatedHandle(SchedulerEvent schedulerEvent) { + super.handle(schedulerEvent); + } @Override public void serviceStop() throws Exception { diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSFairScheduler.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSFairScheduler.java index b1643164863..30a9f364b01 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSFairScheduler.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSFairScheduler.java @@ -63,6 +63,11 @@ public void handle(SchedulerEvent schedulerEvent) { schedulerCommons.handle(schedulerEvent); } + @Override + public void propagatedHandle(SchedulerEvent schedulerEvent) { + super.handle(schedulerEvent); + } + @Override public void serviceStop() throws Exception { schedulerCommons.stopMetrics(); diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSSchedulerCommons.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSSchedulerCommons.java index 7132fc9e620..81d48b85aff 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSSchedulerCommons.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSSchedulerCommons.java @@ -204,7 +204,7 @@ private void updateQueueWithAllocateRequest(Allocation allocation, public void handle(SchedulerEvent schedulerEvent) { if (!metricsON) { - scheduler.handle(schedulerEvent); + ((SchedulerWrapper)scheduler).propagatedHandle(schedulerEvent); return; } @@ -245,7 +245,7 @@ public void handle(SchedulerEvent schedulerEvent) { operationTimer = schedulerMetrics.getSchedulerHandleTimer( schedulerEvent.getType()).time(); - scheduler.handle(schedulerEvent); + ((SchedulerWrapper)scheduler).propagatedHandle(schedulerEvent); } finally { if (handlerTimer != null) { handlerTimer.stop(); diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerWrapper.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerWrapper.java index 7112b1a6fd5..9d8def331b1 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerWrapper.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerWrapper.java @@ -20,6 +20,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.SchedulerEvent; @Private @Unstable @@ -29,4 +30,6 @@ Tracker getTracker(); String getRealQueueName(String queue) throws YarnException; + + void propagatedHandle(SchedulerEvent schedulerEvent); }