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/01/31 13:00:04 UTC

[10/11] incubator-kylin git commit: add error log for FactDistinctColumnsJob.java

add error log for FactDistinctColumnsJob.java


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

Branch: refs/heads/staging
Commit: 49df68a1e27e1d08c10b66d655431a5abc7fa8fd
Parents: ccf8703
Author: qianhao.zhou <qi...@ebay.com>
Authored: Tue Jan 27 14:18:01 2015 +0800
Committer: qianhao.zhou <qi...@ebay.com>
Committed: Tue Jan 27 14:18:01 2015 +0800

----------------------------------------------------------------------
 .../com/kylinolap/job/cmd/JavaHadoopCmd.java    |  6 +++-
 .../kylinolap/job/hadoop/AbstractHadoopJob.java | 38 ++++++++++++--------
 .../job/hadoop/cube/FactDistinctColumnsJob.java |  1 +
 3 files changed, 29 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/49df68a1/job/src/main/java/com/kylinolap/job/cmd/JavaHadoopCmd.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/com/kylinolap/job/cmd/JavaHadoopCmd.java b/job/src/main/java/com/kylinolap/job/cmd/JavaHadoopCmd.java
index 12b4d2c..69fdf60 100644
--- a/job/src/main/java/com/kylinolap/job/cmd/JavaHadoopCmd.java
+++ b/job/src/main/java/com/kylinolap/job/cmd/JavaHadoopCmd.java
@@ -16,6 +16,7 @@
 
 package com.kylinolap.job.cmd;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.util.ToolRunner;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -56,7 +57,10 @@ public class JavaHadoopCmd implements IJobCommand {
             output.appendOutput(e.getLocalizedMessage());
             output.setExitCode(-1);
         }
-
+        final String errorLog = job.getErrorLog();
+        if (!StringUtils.isEmpty(errorLog)) {
+            output.appendOutput(errorLog);
+        }
         output.appendOutput("Command execute return code " + output.getExitCode());
 
         if (output.getExitCode() != 0) {

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/49df68a1/job/src/main/java/com/kylinolap/job/hadoop/AbstractHadoopJob.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/com/kylinolap/job/hadoop/AbstractHadoopJob.java b/job/src/main/java/com/kylinolap/job/hadoop/AbstractHadoopJob.java
index 81769e1..94ced88 100644
--- a/job/src/main/java/com/kylinolap/job/hadoop/AbstractHadoopJob.java
+++ b/job/src/main/java/com/kylinolap/job/hadoop/AbstractHadoopJob.java
@@ -19,13 +19,16 @@ package com.kylinolap.job.hadoop;
  * @author George Song (ysong1)
  * 
  */
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
 
+import com.kylinolap.common.KylinConfig;
+import com.kylinolap.common.persistence.ResourceStore;
+import com.kylinolap.common.util.StringSplitter;
+import com.kylinolap.cube.CubeInstance;
+import com.kylinolap.cube.CubeSegment;
+import com.kylinolap.job.JobInstance;
+import com.kylinolap.job.exception.JobException;
+import com.kylinolap.job.tools.OptionsHelper;
+import com.kylinolap.metadata.model.schema.TableDesc;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
@@ -47,15 +50,10 @@ import org.apache.hadoop.util.ToolRunner;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.kylinolap.common.KylinConfig;
-import com.kylinolap.common.persistence.ResourceStore;
-import com.kylinolap.common.util.StringSplitter;
-import com.kylinolap.cube.CubeInstance;
-import com.kylinolap.cube.CubeSegment;
-import com.kylinolap.job.JobInstance;
-import com.kylinolap.job.exception.JobException;
-import com.kylinolap.job.tools.OptionsHelper;
-import com.kylinolap.metadata.model.schema.TableDesc;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
 
 @SuppressWarnings("static-access")
 public abstract class AbstractHadoopJob extends Configured implements Tool {
@@ -90,6 +88,16 @@ public abstract class AbstractHadoopJob extends Configured implements Tool {
         optionsHelper.printUsage(getClass().getSimpleName(), options);
     }
 
+    private final StringWriter stringWriter = new StringWriter();
+
+    public final void addErrorLog(Exception ex) {
+        ex.printStackTrace(new PrintWriter(stringWriter));
+    }
+
+    public final String getErrorLog() {
+        return stringWriter.toString();
+    }
+
     public Option[] getOptions() {
         return optionsHelper.getOptions();
     }

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/49df68a1/job/src/main/java/com/kylinolap/job/hadoop/cube/FactDistinctColumnsJob.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/com/kylinolap/job/hadoop/cube/FactDistinctColumnsJob.java b/job/src/main/java/com/kylinolap/job/hadoop/cube/FactDistinctColumnsJob.java
index 556f690..c85a5d4 100644
--- a/job/src/main/java/com/kylinolap/job/hadoop/cube/FactDistinctColumnsJob.java
+++ b/job/src/main/java/com/kylinolap/job/hadoop/cube/FactDistinctColumnsJob.java
@@ -81,6 +81,7 @@ public class FactDistinctColumnsJob extends AbstractHadoopJob {
         } catch (Exception e) {
             printUsage(options);
             log.error(e.getLocalizedMessage(), e);
+            addErrorLog(e);
             return 2;
         }