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);
     }

Reply via email to