You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by lu...@apache.org on 2015/06/08 19:15:00 UTC
[45/50] [abbrv] incubator-kylin git commit: minor,
DebugTomcat pick up job jars from dev env
minor, DebugTomcat pick up job jars from dev env
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/14141e0d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/14141e0d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/14141e0d
Branch: refs/heads/master
Commit: 14141e0dbc6bdc597c39628a548059e259447881
Parents: fc838d3
Author: Yang Li <li...@apache.org>
Authored: Sat Jun 6 20:52:20 2015 +0800
Committer: Yang Li <li...@apache.org>
Committed: Sat Jun 6 20:52:20 2015 +0800
----------------------------------------------------------------------
.../org/apache/kylin/common/KylinConfig.java | 3 +-
.../java/org/apache/kylin/rest/DebugTomcat.java | 87 ++++++++++++++------
2 files changed, 62 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/14141e0d/common/src/main/java/org/apache/kylin/common/KylinConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/KylinConfig.java b/common/src/main/java/org/apache/kylin/common/KylinConfig.java
index 536f34c..b21e63b 100644
--- a/common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -304,6 +304,7 @@ public class KylinConfig {
}
public void overrideKylinJobJarPath(String path) {
+ logger.info("override " + KYLIN_JOB_JAR + " to " + path);
System.setProperty(KYLIN_JOB_JAR, path);
}
@@ -341,6 +342,7 @@ public class KylinConfig {
}
public void overrideCoprocessorLocalJar(String path) {
+ logger.info("override " + COPROCESSOR_LOCAL_JAR + " to " + path);
System.setProperty(COPROCESSOR_LOCAL_JAR, path);
}
@@ -469,7 +471,6 @@ public class KylinConfig {
return property != null ? property : kylinConfig.getString(prop);
}
-
private String[] getOptionalStringArray(String prop) {
final String property = System.getProperty(prop);
if (!StringUtil.isBlank(property))
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/14141e0d/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java b/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
index 2a09b07..57f1322 100644
--- a/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
+++ b/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
@@ -28,44 +28,77 @@ import org.apache.catalina.core.StandardServer;
import org.apache.catalina.deploy.ErrorPage;
import org.apache.catalina.startup.Tomcat;
import org.apache.hadoop.util.Shell;
-
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.rest.util.ClasspathUtil;
public class DebugTomcat {
+ public static void setupDebugEnv() {
+ try {
+ // test_case_data/sandbox/ contains HDP 2.2 site xmls which is dev sandbox
+ ClasspathUtil.addClasspath(new File("../examples/test_case_data/sandbox").getAbsolutePath());
+ System.setProperty(KylinConfig.KYLIN_CONF, "../examples/test_case_data/sandbox");
+ overrideDevJobJarLocations();
+
+ System.setProperty("spring.profiles.active", "testing");
+ if (System.getProperty("hdp.version") == null)
+ System.setProperty("hdp.version", "2.2.4.2-2"); // mapred-site.xml ref this
+
+ // workaround for job submission from win to linux -- https://issues.apache.org/jira/browse/MAPREDUCE-4052
+ if (Shell.WINDOWS) {
+ {
+ Field field = Shell.class.getDeclaredField("WINDOWS");
+ field.setAccessible(true);
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ field.set(null, false);
+ }
+ {
+ Field field = java.io.File.class.getDeclaredField("pathSeparator");
+ field.setAccessible(true);
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ field.set(null, ":");
+ }
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private static void overrideDevJobJarLocations() {
+ KylinConfig conf = KylinConfig.getInstanceFromEnv();
+ File devJobJar = findFile("../job/target", "kylin-job-.*-SNAPSHOT-job.jar");
+ if (devJobJar != null) {
+ conf.overrideKylinJobJarPath(devJobJar.getAbsolutePath());
+ }
+ File devCoprocessorJar = findFile("../storage/target", "kylin-storage-.*-SNAPSHOT-coprocessor.jar");
+ if (devCoprocessorJar != null) {
+ conf.overrideCoprocessorLocalJar(devCoprocessorJar.getAbsolutePath());
+ }
+ }
+
+ private static File findFile(String dir, String ptn) {
+ File[] files = new File(dir).listFiles();
+ if (files != null) {
+ for (File f : files) {
+ if (f.getName().matches(ptn))
+ return f;
+ }
+ }
+ return null;
+ }
+
public static void main(String[] args) throws Exception {
+ setupDebugEnv();
+
int port = 7070;
if (args.length >= 1) {
port = Integer.parseInt(args[0]);
}
- // test_case_data/sandbox/ contains HDP 2.2 site xmls which is dev sandbox
- ClasspathUtil.addClasspath(new File("../examples/test_case_data/sandbox").getAbsolutePath());
- System.setProperty(KylinConfig.KYLIN_CONF, "../examples/test_case_data/sandbox");
- System.setProperty("hdp.version", "2.2.4.2-2"); // mapred-site.xml ref this
-
- // workaround for job submission from win to linux -- https://issues.apache.org/jira/browse/MAPREDUCE-4052
- if (Shell.WINDOWS) {
- {
- Field field = Shell.class.getDeclaredField("WINDOWS");
- field.setAccessible(true);
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- modifiersField.setAccessible(true);
- modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
- field.set(null, false);
- }
- {
- Field field = java.io.File.class.getDeclaredField("pathSeparator");
- field.setAccessible(true);
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- modifiersField.setAccessible(true);
- modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
- field.set(null, ":");
- }
- }
-
- System.setProperty("spring.profiles.active", "testing");
String webBase = new File("../webapp/app").getAbsolutePath();
if (new File(webBase, "WEB-INF").exists() == false) {
throw new RuntimeException("In order to launch Kylin web app from IDE, please make a symblink from webapp/app/WEB-INF to server/src/main/webapp/WEB-INF");