You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/03/14 01:02:44 UTC

[32/47] incubator-kylin git commit: add stacktrace to job output when exception occurs

add stacktrace to job output when exception occurs


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/e80ce69d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/e80ce69d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/e80ce69d

Branch: refs/heads/master
Commit: e80ce69dba08a9acc69a105cf8f175a873228170
Parents: 2157fe5
Author: qianhao.zhou <qi...@ebay.com>
Authored: Tue Mar 10 11:24:58 2015 +0800
Committer: qianhao.zhou <qi...@ebay.com>
Committed: Tue Mar 10 11:24:58 2015 +0800

----------------------------------------------------------------------
 .../apache/kylin/job/execution/AbstractExecutable.java    | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/e80ce69d/job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java b/job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
index c0c6160..0a230d8 100644
--- a/job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
+++ b/job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java
@@ -33,6 +33,8 @@ import org.apache.commons.lang3.tuple.Pair;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -81,7 +83,13 @@ public abstract class AbstractExecutable implements Executable, Idempotent {
     protected void onExecuteError(Throwable exception, ExecutableContext executableContext) {
         if (!isDiscarded()) {
             executableManager.addJobInfo(getId(), END_TIME, Long.toString(System.currentTimeMillis()));
-            executableManager.updateJobOutput(getId(), ExecutableState.ERROR, null, exception.getLocalizedMessage());
+            String output = null;
+            if (exception != null) {
+                final StringWriter out = new StringWriter();
+                exception.printStackTrace(new PrintWriter(out));
+                output = out.toString();
+            }
+            executableManager.updateJobOutput(getId(), ExecutableState.ERROR, null, output);
         } else {
         }
     }