KYLIN-2753 Fix for the special case that jobs not really stopped Signed-off-by: Billy Liu <billy...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1004a853 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1004a853 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1004a853 Branch: refs/heads/2622-2764 Commit: 1004a853225503e00f48a27949d7e09109e937db Parents: 7a47e94 Author: zhengdong <zhe...@outlook.com> Authored: Fri Sep 1 17:58:21 2017 +0800 Committer: Billy Liu <billy...@apache.org> Committed: Fri Sep 1 18:10:00 2017 +0800 ---------------------------------------------------------------------- .../apache/kylin/job/execution/ExecutableManager.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/1004a853/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 124a5a9..0439ddd 100755 --- 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 @@ -338,12 +338,13 @@ public class ExecutableManager { break; } } - info = Maps.newHashMap(); final long endTime = job.getEndTime(); - long interruptTime = System.currentTimeMillis() - endTime + job.getInterruptTime(); - info.putAll(getJobOutput(jobId).getInfo()); - info.put(AbstractExecutable.INTERRUPT_TIME, Long.toString(interruptTime)); - info.remove(AbstractExecutable.END_TIME); + if (endTime != 0) { + long interruptTime = System.currentTimeMillis() - endTime + job.getInterruptTime(); + info = Maps.newHashMap(getJobOutput(jobId).getInfo()); + info.put(AbstractExecutable.INTERRUPT_TIME, Long.toString(interruptTime)); + info.remove(AbstractExecutable.END_TIME); + } } updateJobOutput(jobId, ExecutableState.READY, info, null); }