[EAGLE-1008] java.lang.NullPointerException in JHFEventReaderBase.close
https://issues.apache.org/jira/browse/EAGLE-1008
Author: Zhao, Qingwen <qingwzhao@apache.org>
Closes #919 from qingwen220/minor.
diff --git a/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/MRJobPerformanceAnalyzer.java b/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/MRJobPerformanceAnalyzer.java
index 34365dc..cca6b18 100644
--- a/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/MRJobPerformanceAnalyzer.java
+++ b/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/MRJobPerformanceAnalyzer.java
@@ -61,14 +61,18 @@
Result result = new Result();
for (Evaluator evaluator : evaluators) {
- Result.EvaluatorResult evaluatorResult = evaluator.evaluate(analyzerJobEntity);
- if (evaluatorResult != null) {
- result.addEvaluatorResult(evaluator.getClass(), evaluatorResult);
+ try {
+ Result.EvaluatorResult evaluatorResult = evaluator.evaluate(analyzerJobEntity);
+ if (evaluatorResult != null) {
+ result.addEvaluatorResult(evaluator.getClass(), evaluatorResult);
+ }
+ } catch (Throwable e) {
+ LOG.error("evaluator {} fails to analyse job {}", evaluator, analyzerJobEntity.getJobId(), e);
}
}
if (alertDeduplicator.dedup(analyzerJobEntity, result)) {
- LOG.info("skip publish job {} alert because it is duplicated", analyzerJobEntity.getJobDefId());
+ LOG.info("skip publish job {} alert because it is duplicated", analyzerJobEntity.getJobId());
return;
}
diff --git a/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/suggestion/JobSuggestionEvaluator.java b/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/suggestion/JobSuggestionEvaluator.java
index e1a357a..4e2726b 100644
--- a/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/suggestion/JobSuggestionEvaluator.java
+++ b/eagle-jpm/eagle-jpm-analyzer/src/main/java/org/apache/eagle/jpm/analyzer/mr/suggestion/JobSuggestionEvaluator.java
@@ -63,7 +63,6 @@
return null;
}
-
if (analyzerEntity.getTotalCounters() == null) {
LOG.warn("Total counters of Job {} is null", analyzerEntity.getJobId());
return null;
@@ -73,13 +72,14 @@
return null;
}
- MapReduceJobSuggestionContext jobContext = new MapReduceJobSuggestionContext(analyzerEntity);
- if (jobContext.getNumMaps() == 0) {
- return null;
- }
-
try {
Result.EvaluatorResult result = new Result.EvaluatorResult();
+
+ MapReduceJobSuggestionContext jobContext = new MapReduceJobSuggestionContext(analyzerEntity);
+ if (jobContext.getNumMaps() == 0) {
+ return null;
+ }
+
for (Processor processor : loadProcessors(jobContext)) {
Result.ProcessorResult processorResult = processor.process(analyzerEntity);
if (processorResult != null) {
diff --git a/eagle-jpm/eagle-jpm-util/src/main/java/org/apache/eagle/jpm/util/jobcounter/JobCounters.java b/eagle-jpm/eagle-jpm-util/src/main/java/org/apache/eagle/jpm/util/jobcounter/JobCounters.java
index bbb80cd..e337c13 100644
--- a/eagle-jpm/eagle-jpm-util/src/main/java/org/apache/eagle/jpm/util/jobcounter/JobCounters.java
+++ b/eagle-jpm/eagle-jpm-util/src/main/java/org/apache/eagle/jpm/util/jobcounter/JobCounters.java
@@ -48,7 +48,8 @@
}
public Long getCounterValue(CounterName counterName) {
- if (counters.get(counterName.group.name).containsKey(counterName.name)) {
+ if (counters.containsKey(counterName.group.name)
+ && counters.get(counterName.group.name).containsKey(counterName.name)) {
return counters.get(counterName.group.name).get(counterName.name);
} else {
return 0L;