KYLIN-1614 Script entry for job diagnosis

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

Branch: refs/heads/1.5.x-HBase1.x
Commit: b7f03986f7f6fbf55b01c02637507f8cca0ef6b6
Parents: 0308fa8
Author: lidongsjtu <lid...@apache.org>
Authored: Sun May 1 14:13:56 2016 +0800
Committer: lidongsjtu <lid...@apache.org>
Committed: Sun May 1 14:14:18 2016 +0800

----------------------------------------------------------------------
 build/bin/kylin.sh                              | 13 ++++++----
 .../kylin/tool/AbstractInfoExtractor.java       | 25 ++++++++++----------
 .../apache/kylin/tool/ClientEnvExtractor.java   |  1 +
 .../org/apache/kylin/tool/DiagnosisInfoCLI.java |  8 -------
 .../apache/kylin/tool/HBaseUsageExtractor.java  |  1 +
 5 files changed, 24 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/build/bin/kylin.sh
----------------------------------------------------------------------
diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh
index 34014d3..7ceae69 100644
--- a/build/bin/kylin.sh
+++ b/build/bin/kylin.sh
@@ -201,10 +201,10 @@ then
 
 elif [ "$1" = "diag" ]
 then
-    project="$2"
-    if [ -z "$project" ]
+    patient="$2"
+    if [ -z "$patient" ]
     then
-        echo "You need to specify a project for diagnosis."
+        echo "You need to specify a Project or Job Id for diagnosis."
         exit 1
     fi
 
@@ -216,7 +216,12 @@ then
     fi
 
     export HBASE_CLASSPATH=${KYLIN_HOME}/lib/*
-    exec hbase ${KYLIN_EXTRA_START_OPTS} 
-Dlog4j.configuration=kylin-log4j.properties 
org.apache.kylin.tool.DiagnosisInfoCLI -project $project -destDir $destDir
+
+    if [ ${#patient} -gt 31 ]; then
+        exec hbase ${KYLIN_EXTRA_START_OPTS} 
-Dlog4j.configuration=kylin-log4j.properties 
org.apache.kylin.tool.JobDiagnosisInfoCLI -jobId $patient -destDir $destDir
+    else
+        exec hbase ${KYLIN_EXTRA_START_OPTS} 
-Dlog4j.configuration=kylin-log4j.properties 
org.apache.kylin.tool.DiagnosisInfoCLI -project $patient -destDir $destDir
+    fi
     exit 0
 
 # tool command

http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java
----------------------------------------------------------------------
diff --git 
a/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java 
b/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java
index 4a5f31e..42449e5 100644
--- a/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java
+++ b/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java
@@ -20,6 +20,7 @@
 package org.apache.kylin.tool;
 
 import java.io.File;
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -28,6 +29,7 @@ import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.KylinVersion;
 import org.apache.kylin.common.util.AbstractApplication;
 import org.apache.kylin.common.util.OptionsHelper;
@@ -48,6 +50,7 @@ public abstract class AbstractInfoExtractor extends 
AbstractApplication {
     private static final Option OPTION_SUBMODULE = 
OptionBuilder.withArgName("submodule").hasArg().isRequired(false).withDescription("specify
 whether this is a submodule of other CLI tool").create("submodule");
 
     private static final String DEFAULT_PACKAGE_TYPE = "base";
+    private static final String COMMIT_SHA1_FILE = "commit_SHA1";
 
     protected final Options options;
 
@@ -115,18 +118,16 @@ public abstract class AbstractInfoExtractor extends 
AbstractApplication {
         }
     }
 
-    private void dumpBasicDiagInfo() {
-        try {
-            String output = KylinVersion.getKylinClientInformation() + "\n";
-            FileUtils.writeStringToFile(new File(exportDir, "kylin_env"), 
output);
-
-            StringBuilder basicSb = new StringBuilder();
-            basicSb.append("MetaStoreID: 
").append(ToolUtil.getHBaseMetaStoreId()).append("\n");
-            basicSb.append("PackageType: 
").append(packageType.toUpperCase()).append("\n");
-            FileUtils.writeStringToFile(new File(exportDir, "info"), 
basicSb.toString());
-        } catch (Exception e) {
-            logger.warn("Error in export process info.", e);
-        }
+    private void dumpBasicDiagInfo() throws IOException {
+        FileUtils.copyFileToDirectory(new File(KylinConfig.getKylinHome(), 
COMMIT_SHA1_FILE), exportDir);
+
+        String output = KylinVersion.getKylinClientInformation() + "\n";
+        FileUtils.writeStringToFile(new File(exportDir, "kylin_env"), output);
+
+        StringBuilder basicSb = new StringBuilder();
+        basicSb.append("MetaStoreID: 
").append(ToolUtil.getHBaseMetaStoreId()).append("\n");
+        basicSb.append("PackageType: 
").append(packageType.toUpperCase()).append("\n");
+        FileUtils.writeStringToFile(new File(exportDir, "info"), 
basicSb.toString());
     }
 
     protected abstract void executeExtract(OptionsHelper optionsHelper, File 
exportDir) throws Exception;

http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java 
b/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java
index 01908be..5e170f8 100644
--- a/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java
+++ b/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java
@@ -40,6 +40,7 @@ public class ClientEnvExtractor extends AbstractInfoExtractor 
{
 
     public ClientEnvExtractor() throws IOException {
         super();
+
         packageType = "client";
         kylinConfig = KylinConfig.getInstanceFromEnv();
         cmdExecutor = kylinConfig.getCliCommandExecutor();

http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java 
b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
index 863171d..884a9d4 100644
--- a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
+++ b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
@@ -24,7 +24,6 @@ import java.io.IOException;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.io.FileUtils;
-import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.OptionsHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -96,13 +95,6 @@ public class DiagnosisInfoCLI extends AbstractInfoExtractor {
             clientEnvExtractor.execute(clientArgs);
         }
 
-        // export commit id
-        try {
-            FileUtils.copyFileToDirectory(new File(KylinConfig.getKylinHome(), 
"commit_SHA1"), exportDir);
-        } catch (Exception e) {
-            logger.warn("Error in export commit id.", e);
-        }
-
         // export logs
         String[] logsArgs = { "-destDir", new File(exportDir, 
"logs").getAbsolutePath(), "-compress", "false", "-submodule", "true" };
         KylinLogExtractor logExtractor = new KylinLogExtractor();

http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java 
b/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
index 0dbe87e..7be03bc 100644
--- a/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
+++ b/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
@@ -65,6 +65,7 @@ public class HBaseUsageExtractor extends 
AbstractInfoExtractor {
 
     public HBaseUsageExtractor() {
         super();
+        packageType = "hbase";
 
         OptionGroup realizationOrProject = new OptionGroup();
         realizationOrProject.addOption(OPTION_CUBE);

Reply via email to