Repository: kylin Updated Branches: refs/heads/master 873c8a83e -> 61c9e3601
KYLIN-1738 Save MR JobInfo even the job got killed Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/af028f01 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/af028f01 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/af028f01 Branch: refs/heads/master Commit: af028f012c7d765374f279d265595f75b53358f2 Parents: 873c8a8 Author: lidongsjtu <lid...@apache.org> Authored: Thu May 26 10:32:02 2016 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Thu May 26 16:25:14 2016 +0800 ---------------------------------------------------------------------- .../apache/kylin/engine/mr/common/MapReduceExecutable.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/af028f01/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java ---------------------------------------------------------------------- diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java index 4cf7dfb..19ad132 100644 --- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java +++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java @@ -46,6 +46,8 @@ import org.apache.kylin.job.execution.ExecutableContext; import org.apache.kylin.job.execution.ExecutableState; import org.apache.kylin.job.execution.ExecuteResult; import org.apache.kylin.job.execution.Output; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.google.common.base.Preconditions; @@ -58,6 +60,8 @@ public class MapReduceExecutable extends AbstractExecutable { private static final String KEY_PARAMS = "MR_JOB_PARAMS"; private static final String KEY_COUNTER_SAVEAS = "MR_COUNTER_SAVEAS"; + protected static final Logger logger = LoggerFactory.getLogger(MapReduceExecutable.class); + public MapReduceExecutable() { super(); } @@ -147,17 +151,18 @@ public class MapReduceExecutable extends AbstractExecutable { // HadoopStatusChecker statusChecker = new HadoopStatusChecker(restStatusCheckUrl, mrJobId, output, useKerberosAuth); JobStepStatusEnum status = JobStepStatusEnum.NEW; while (!isDiscarded()) { + JobStepStatusEnum newStatus = HadoopJobStatusChecker.checkStatus(job, output); if (status == JobStepStatusEnum.KILLED) { - executableManager.updateJobOutput(getId(), ExecutableState.ERROR, Collections.<String, String> emptyMap(), "killed by admin"); + executableManager.updateJobOutput(getId(), ExecutableState.ERROR, hadoopCmdOutput.getInfo(), "killed by admin"); return new ExecuteResult(ExecuteResult.State.FAILED, "killed by admin"); } if (status == JobStepStatusEnum.WAITING && (newStatus == JobStepStatusEnum.FINISHED || newStatus == JobStepStatusEnum.ERROR || newStatus == JobStepStatusEnum.RUNNING)) { final long waitTime = System.currentTimeMillis() - getStartTime(); setMapReduceWaitTime(waitTime); } - status = newStatus; executableManager.addJobInfo(getId(), hadoopCmdOutput.getInfo()); + status = newStatus; if (status.isComplete()) { final Map<String, String> info = hadoopCmdOutput.getInfo(); readCounters(hadoopCmdOutput, info);