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 2016/04/25 07:36:20 UTC
[36/50] hadoop git commit: MAPREDUCE-6649. getFailureInfo not
returning any failure info. Contributed by Eric Badger
MAPREDUCE-6649. getFailureInfo not returning any failure info. Contributed by Eric Badger
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/cc8b83a8
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/cc8b83a8
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/cc8b83a8
Branch: refs/heads/YARN-1011
Commit: cc8b83a8e85bfc65974cf5e86337855cd4724c1d
Parents: cab9cba
Author: Eric Payne <ep...@apache.org>
Authored: Sat Apr 16 22:07:27 2016 +0000
Committer: Eric Payne <ep...@apache.org>
Committed: Sat Apr 16 22:07:27 2016 +0000
----------------------------------------------------------------------
.../hadoop/mapreduce/v2/hs/CompletedJob.java | 9 ++++++-
.../mapreduce/v2/hs/TestJobHistoryEntities.java | 27 ++++++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/cc8b83a8/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedJob.java
----------------------------------------------------------------------
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedJob.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedJob.java
index ad4e6bc..4deb9ae 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedJob.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedJob.java
@@ -142,6 +142,7 @@ public class CompletedJob implements org.apache.hadoop.mapreduce.v2.app.job.Job
report.setFinishTime(jobInfo.getFinishTime());
report.setJobName(jobInfo.getJobname());
report.setUser(jobInfo.getUsername());
+ report.setDiagnostics(jobInfo.getErrorInfo());
if ( getTotalMaps() == 0 ) {
report.setMapProgress(1.0f);
@@ -335,6 +336,12 @@ public class CompletedJob implements org.apache.hadoop.mapreduce.v2.app.job.Job
}
}
+ protected JobHistoryParser createJobHistoryParser(Path historyFileAbsolute)
+ throws IOException {
+ return new JobHistoryParser(historyFileAbsolute.getFileSystem(conf),
+ historyFileAbsolute);
+ }
+
//History data is leisurely loaded when task level data is requested
protected synchronized void loadFullHistoryData(boolean loadTasks,
Path historyFileAbsolute) throws IOException {
@@ -347,7 +354,7 @@ public class CompletedJob implements org.apache.hadoop.mapreduce.v2.app.job.Job
JobHistoryParser parser = null;
try {
final FileSystem fs = historyFileAbsolute.getFileSystem(conf);
- parser = new JobHistoryParser(fs, historyFileAbsolute);
+ parser = createJobHistoryParser(historyFileAbsolute);
final Path jobConfPath = new Path(historyFileAbsolute.getParent(),
JobHistoryUtils.getIntermediateConfFileName(jobId));
final Configuration conf = new Configuration();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/cc8b83a8/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryEntities.java
----------------------------------------------------------------------
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryEntities.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryEntities.java
index 9608fc8..c6ddae5 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryEntities.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryEntities.java
@@ -19,14 +19,18 @@ package org.apache.hadoop.mapreduce.v2.hs;
import static org.junit.Assert.assertEquals;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapred.JobACLsManager;
+import org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser;
+import org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.JobInfo;
import org.apache.hadoop.mapreduce.v2.api.records.JobId;
import org.apache.hadoop.mapreduce.v2.api.records.JobReport;
import org.apache.hadoop.mapreduce.v2.api.records.JobState;
@@ -236,4 +240,27 @@ public class TestJobHistoryEntities {
}
+ @Test (timeout=30000)
+ public void testCompletedJobWithDiagnostics() throws Exception {
+ final String jobError = "Job Diagnostics";
+ JobInfo jobInfo = spy(new JobInfo());
+ when(jobInfo.getErrorInfo()).thenReturn(jobError);
+ when(jobInfo.getJobStatus()).thenReturn(JobState.FAILED.toString());
+ when(jobInfo.getAMInfos()).thenReturn(Collections.<JobHistoryParser.AMInfo>emptyList());
+ final JobHistoryParser mockParser = mock(JobHistoryParser.class);
+ when(mockParser.parse()).thenReturn(jobInfo);
+ HistoryFileInfo info = mock(HistoryFileInfo.class);
+ when(info.getConfFile()).thenReturn(fullConfPath);
+ when(info.getHistoryFile()).thenReturn(fullHistoryPath);
+ CompletedJob job =
+ new CompletedJob(conf, jobId, fullHistoryPath, loadTasks, "user",
+ info, jobAclsManager) {
+ @Override
+ protected JobHistoryParser createJobHistoryParser(
+ Path historyFileAbsolute) throws IOException {
+ return mockParser;
+ }
+ };
+ assertEquals(jobError, job.getReport().getDiagnostics());
+ }
}