KYLIN-2411 Kill MR job on pause
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b49c9e39 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b49c9e39 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b49c9e39 Branch: refs/heads/KYLIN-2361 Commit: b49c9e3951c29a21e71f179ee77e2295fbc52ba9 Parents: 38c3e7b Author: shaofengshi <shaofeng...@apache.org> Authored: Thu Jan 19 11:02:12 2017 +0800 Committer: shaofengshi <shaofeng...@apache.org> Committed: Thu Jan 19 17:37:42 2017 +0800 ---------------------------------------------------------------------- .../org/apache/kylin/job/execution/ExecutableManager.java | 2 +- .../apache/kylin/engine/mr/common/MapReduceExecutable.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/b49c9e39/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java ---------------------------------------------------------------------- diff --git a/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java b/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java index 466cdad..48cedb5 100644 --- a/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java +++ b/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java @@ -347,7 +347,7 @@ public class ExecutableManager { for (AbstractExecutable task : tasks) { if (task.getId().compareTo(stepId) >= 0) { logger.debug("rollback task : " + task); - updateJobOutput(task.getId(), ExecutableState.READY, null, null); + updateJobOutput(task.getId(), ExecutableState.READY, Maps.<String, String>newHashMap(), ""); } } } http://git-wip-us.apache.org/repos/asf/kylin/blob/b49c9e39/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 f887c4c..6de07ca 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 @@ -148,7 +148,7 @@ public class MapReduceExecutable extends AbstractExecutable { // boolean useKerberosAuth = context.getConfig().isGetJobStatusWithKerberos(); // HadoopStatusChecker statusChecker = new HadoopStatusChecker(restStatusCheckUrl, mrJobId, output, useKerberosAuth); JobStepStatusEnum status = JobStepStatusEnum.NEW; - while (!isDiscarded()) { + while (!isDiscarded() && !isPaused()) { JobStepStatusEnum newStatus = HadoopJobStatusChecker.checkStatus(job, output); if (status == JobStepStatusEnum.KILLED) { @@ -184,7 +184,11 @@ public class MapReduceExecutable extends AbstractExecutable { } } - return new ExecuteResult(ExecuteResult.State.DISCARDED, output.toString()); + if (isDiscarded()) { + return new ExecuteResult(ExecuteResult.State.DISCARDED, output.toString()); + } else { + return new ExecuteResult(ExecuteResult.State.STOPPED, output.toString()); + } } catch (ReflectiveOperationException e) { logger.error("error getMapReduceJobClass, class name:" + getParam(KEY_MR_JOB), e);