You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by lu...@apache.org on 2015/09/06 09:39:08 UTC
[02/50] [abbrv] incubator-kylin git commit: resume mr job when it has
been killed by admin
resume mr job when it has been killed by admin
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/7e9d3ae6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/7e9d3ae6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/7e9d3ae6
Branch: refs/heads/master
Commit: 7e9d3ae620cfc9eb426f04e633992bbd1eff31f6
Parents: 1ef0eb6
Author: qianhao.zhou <qi...@ebay.com>
Authored: Tue Aug 11 11:49:30 2015 +0800
Committer: qianhao.zhou <qi...@ebay.com>
Committed: Tue Aug 11 11:49:30 2015 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/job/common/MapReduceExecutable.java | 5 +++++
.../java/org/apache/kylin/job/constant/JobStepStatusEnum.java | 2 +-
.../java/org/apache/kylin/job/tools/HadoopStatusChecker.java | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7e9d3ae6/job/src/main/java/org/apache/kylin/job/common/MapReduceExecutable.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/common/MapReduceExecutable.java b/job/src/main/java/org/apache/kylin/job/common/MapReduceExecutable.java
index 0b8d5b6..10c6eba 100644
--- a/job/src/main/java/org/apache/kylin/job/common/MapReduceExecutable.java
+++ b/job/src/main/java/org/apache/kylin/job/common/MapReduceExecutable.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.lang.reflect.Constructor;
+import java.util.Collections;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
@@ -134,6 +135,10 @@ public class MapReduceExecutable extends AbstractExecutable {
JobStepStatusEnum status = JobStepStatusEnum.NEW;
while (!isDiscarded()) {
JobStepStatusEnum newStatus = statusChecker.checkStatus();
+ if (status == JobStepStatusEnum.KILLED) {
+ executableManager.updateJobOutput(getId(), ExecutableState.ERROR, Collections.<String, String>emptyMap(), "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);
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7e9d3ae6/job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java b/job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java
index 69de0b9..08ee79a 100644
--- a/job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java
+++ b/job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java
@@ -19,7 +19,7 @@
package org.apache.kylin.job.constant;
public enum JobStepStatusEnum {
- NEW(0), PENDING(1), RUNNING(2), FINISHED(4), ERROR(8), DISCARDED(16), WAITING(32);
+ NEW(0), PENDING(1), RUNNING(2), FINISHED(4), ERROR(8), DISCARDED(16), WAITING(32), KILLED(64);
private final int code;
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7e9d3ae6/job/src/main/java/org/apache/kylin/job/tools/HadoopStatusChecker.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/tools/HadoopStatusChecker.java b/job/src/main/java/org/apache/kylin/job/tools/HadoopStatusChecker.java
index ea7822c..225253a 100644
--- a/job/src/main/java/org/apache/kylin/job/tools/HadoopStatusChecker.java
+++ b/job/src/main/java/org/apache/kylin/job/tools/HadoopStatusChecker.java
@@ -65,7 +65,7 @@ public class HadoopStatusChecker {
status = JobStepStatusEnum.ERROR;
break;
case KILLED:
- status = JobStepStatusEnum.ERROR;
+ status = JobStepStatusEnum.KILLED;
break;
case UNDEFINED:
switch (result.getLeft()) {