This is an automated email from the ASF dual-hosted git repository.
quapaw pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 4b1a6bf YARN-11102. Fix spotbugs error in hadoop-sls module.
Contributed by Szilard Nemeth, Andras Gyori.
4b1a6bf is described below
commit 4b1a6bfb10cacf1b5e070edf09b74ff8a3c680a7
Author: 9uapaw <[email protected]>
AuthorDate: Fri Apr 1 18:24:37 2022 +0200
YARN-11102. Fix spotbugs error in hadoop-sls module. Contributed by Szilard
Nemeth, Andras Gyori.
---
.../src/main/java/org/apache/hadoop/yarn/sls/AMRunner.java | 7 +++++--
.../src/main/java/org/apache/hadoop/yarn/sls/NMRunner.java | 2 +-
.../src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java | 11 ++++++-----
.../hadoop/yarn/sls/scheduler/SLSCapacityScheduler.java | 12 ++++++++++++
.../apache/hadoop/yarn/sls/scheduler/SLSFairScheduler.java | 13 +++++++++++++
.../hadoop/yarn/sls/scheduler/SLSSchedulerCommons.java | 5 +++--
.../apache/hadoop/yarn/sls/scheduler/SchedulerWrapper.java | 5 +++++
7 files changed, 45 insertions(+), 10 deletions(-)
diff --git
a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/AMRunner.java
b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/AMRunner.java
index 8ce8d29..2dc09de 100644
---
a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/AMRunner.java
+++
b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/AMRunner.java
@@ -44,8 +44,11 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -53,7 +56,7 @@ import java.util.concurrent.ConcurrentHashMap;
public class AMRunner {
private static final Logger LOG = LoggerFactory.getLogger(AMRunner.class);
- static int remainingApps = 0;
+ int remainingApps = 0;
private final Configuration conf;
private int AM_ID;
@@ -263,7 +266,7 @@ public class AMRunner {
}
public void setInputTraces(String[] inputTraces) {
- this.inputTraces = inputTraces;
+ this.inputTraces = inputTraces.clone();
}
public void setResourceManager(ResourceManager rm) {
diff --git
a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/NMRunner.java
b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/NMRunner.java
index 224e1e3..14524a4 100644
---
a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/NMRunner.java
+++
b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/NMRunner.java
@@ -205,7 +205,7 @@ public class NMRunner {
}
public void setInputTraces(String[] inputTraces) {
- this.inputTraces = inputTraces;
+ this.inputTraces = inputTraces.clone();
}
public int getNumNMs() {
diff --git
a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java
b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java
index 0909a45..c14d568 100644
---
a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java
+++
b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java
@@ -98,8 +98,8 @@ public class SLSRunner extends Configured implements Tool {
public static final String NETWORK_NEGATIVE_CACHE_TTL =
"networkaddress.cache.negative.ttl";
- public static int getRemainingApps() {
- return AMRunner.remainingApps;
+ public int getRemainingApps() {
+ return amRunner.remainingApps;
}
public SLSRunner() throws ClassNotFoundException, YarnException {
@@ -204,6 +204,7 @@ public class SLSRunner extends Configured implements Tool {
// set queue & tracked apps information
SchedulerWrapper resourceScheduler =
(SchedulerWrapper) rmRunner.getRm().getResourceScheduler();
+ resourceScheduler.setSLSRunner(this);
Tracker tracker = resourceScheduler.getTracker();
tracker.setQueueSet(rmRunner.getQueueAppNumMap().keySet());
tracker.setTrackedAppSet(amRunner.getTrackedApps());
@@ -301,9 +302,9 @@ public class SLSRunner extends Configured implements Tool {
return nmRunner.getNmMap();
}
- public static void decreaseRemainingApps() {
- AMRunner.remainingApps--;
- if (AMRunner.remainingApps == 0) {
+ public void decreaseRemainingApps() {
+ amRunner.remainingApps--;
+ if (amRunner.remainingApps == 0) {
exitSLSRunner();
}
}
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 39170b1..18e12cc 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
@@ -35,6 +35,7 @@ import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ContainerUpdates;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.ResourceCommitRequest;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.SchedulerEvent;
+import org.apache.hadoop.yarn.sls.SLSRunner;
@Private
@Unstable
@@ -43,6 +44,7 @@ public class SLSCapacityScheduler extends CapacityScheduler
implements
private final SLSSchedulerCommons schedulerCommons;
private Configuration conf;
+ private SLSRunner runner;
public SLSCapacityScheduler() {
schedulerCommons = new SLSSchedulerCommons(this);
@@ -138,5 +140,15 @@ public class SLSCapacityScheduler extends
CapacityScheduler implements
public Tracker getTracker() {
return schedulerCommons.getTracker();
}
+
+ @Override
+ public void setSLSRunner(SLSRunner runner) {
+ this.runner = runner;
+ }
+
+ @Override
+ public SLSRunner getSLSRunner() {
+ return this.runner;
+ }
}
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 2835b41..1b4d5ce 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
@@ -30,6 +30,8 @@ import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.Allocation;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ContainerUpdates;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.SchedulerEvent;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler;
+import org.apache.hadoop.yarn.sls.SLSRunner;
+
import java.util.List;
@Private
@@ -37,6 +39,7 @@ import java.util.List;
public class SLSFairScheduler extends FairScheduler
implements SchedulerWrapper, Configurable {
private final SLSSchedulerCommons schedulerCommons;
+ private SLSRunner runner;
public SLSFairScheduler() {
schedulerCommons = new SLSSchedulerCommons(this);
@@ -99,4 +102,14 @@ public class SLSFairScheduler extends FairScheduler
public Tracker getTracker() {
return schedulerCommons.getTracker();
}
+
+ @Override
+ public void setSLSRunner(SLSRunner runner) {
+ this.runner = runner;
+ }
+
+ @Override
+ public SLSRunner getSLSRunner() {
+ return this.runner;
+ }
}
\ No newline at end of file
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 ee70dfb..a99fe53 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
@@ -205,6 +205,7 @@ public class SLSSchedulerCommons {
}
public void handle(SchedulerEvent schedulerEvent) {
+ SchedulerWrapper wrapper = (SchedulerWrapper) scheduler;
if (!metricsON) {
((SchedulerWrapper)scheduler).propagatedHandle(schedulerEvent);
return;
@@ -259,11 +260,11 @@ public class SLSSchedulerCommons {
if (schedulerEvent.getType() == SchedulerEventType.APP_ATTEMPT_REMOVED
&& schedulerEvent instanceof AppAttemptRemovedSchedulerEvent) {
- SLSRunner.decreaseRemainingApps();
+ wrapper.getSLSRunner().decreaseRemainingApps();
AppAttemptRemovedSchedulerEvent appRemoveEvent =
(AppAttemptRemovedSchedulerEvent) schedulerEvent;
appQueueMap.remove(appRemoveEvent.getApplicationAttemptID());
- if (SLSRunner.getRemainingApps() == 0) {
+ if (wrapper.getSLSRunner().getRemainingApps() == 0) {
try {
schedulerMetrics.tearDown();
SLSRunner.exitSLSRunner();
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 5ee088d..cc9844a 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
@@ -27,6 +27,7 @@ import org.apache.hadoop.yarn.exceptions.YarnException;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.Allocation;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ContainerUpdates;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.SchedulerEvent;
+import org.apache.hadoop.yarn.sls.SLSRunner;
import java.util.List;
@@ -48,4 +49,8 @@ public interface SchedulerWrapper {
List<String> blacklistAdditions,
List<String> blacklistRemovals,
ContainerUpdates updateRequests);
+
+ void setSLSRunner(SLSRunner runner);
+
+ SLSRunner getSLSRunner();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]