From 4d9e9f7f51410ec0d31453e7726de372ea9ff2b0 Mon Sep 17 00:00:00 2001 From: manuzhang Date: Fri, 21 Jul 2017 00:07:23 +0800 Subject: [PATCH] [GEARPUMP-327] Put jarstore and logs under "gearpump.home" --- .gitignore | 4 ---- .../org/apache/gearpump/cluster/worker/Worker.scala | 5 ++++- .../apache/gearpump/jarstore/local/LocalJarStore.scala | 9 +++++---- .../main/scala/org/apache/gearpump/util/FileUtils.scala | 2 +- .../main/scala/org/apache/gearpump/util/LogUtil.scala | 7 ++----- core/src/main/scala/org/apache/gearpump/util/Util.scala | 5 +++++ 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 6c0954e25..cac7fa61b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,3 @@ -# Gearpump -jarstore/ -logs/ - # Scala *.class *.log diff --git a/core/src/main/scala/org/apache/gearpump/cluster/worker/Worker.scala b/core/src/main/scala/org/apache/gearpump/cluster/worker/Worker.scala index 447b03405..09821bed7 100644 --- a/core/src/main/scala/org/apache/gearpump/cluster/worker/Worker.scala +++ b/core/src/main/scala/org/apache/gearpump/cluster/worker/Worker.scala @@ -461,8 +461,11 @@ private[cluster] object Worker { val ipv4 = List(s"-D${PREFER_IPV4}=true") + val gearpumpHome = + List(s"-D${Constants.GEARPUMP_HOME}=${System.getProperty(Constants.GEARPUMP_HOME)}") + val options = ctx.jvmArguments ++ username ++ - logArgs ++ remoteDebugConfig ++ verboseGCConfig ++ ipv4 ++ configArgs + logArgs ++ remoteDebugConfig ++ verboseGCConfig ++ ipv4 ++ gearpumpHome ++ configArgs val process = procLauncher.createProcess(appId, executorId, resource, executorConfig, options, classPath, ctx.mainClass, ctx.arguments) diff --git a/core/src/main/scala/org/apache/gearpump/jarstore/local/LocalJarStore.scala b/core/src/main/scala/org/apache/gearpump/jarstore/local/LocalJarStore.scala index c15a9bea4..0a11c031f 100644 --- a/core/src/main/scala/org/apache/gearpump/jarstore/local/LocalJarStore.scala +++ b/core/src/main/scala/org/apache/gearpump/jarstore/local/LocalJarStore.scala @@ -21,7 +21,7 @@ import java.io._ import com.typesafe.config.Config import org.apache.gearpump.jarstore.JarStore -import org.apache.gearpump.util.{LogUtil, FileUtils, Constants} +import org.apache.gearpump.util.{Constants, FileUtils, LogUtil, Util} import org.slf4j.Logger /** @@ -29,7 +29,7 @@ import org.slf4j.Logger */ class LocalJarStore extends JarStore { private val LOG: Logger = LogUtil.getLogger(getClass) - private var rootPath: String = null + private var rootPath: File = _ override val scheme: String = "file" class ClosedInputStream extends InputStream { @@ -37,8 +37,9 @@ class LocalJarStore extends JarStore { } override def init(config: Config): Unit = { - rootPath = config.getString(Constants.GEARPUMP_APP_JAR_STORE_ROOT_PATH) - FileUtils.forceMkdir(new File(rootPath)) + rootPath = Util.asSubDirOfGearpumpHome( + config.getString(Constants.GEARPUMP_APP_JAR_STORE_ROOT_PATH)) + FileUtils.forceMkdir(rootPath) } /** diff --git a/core/src/main/scala/org/apache/gearpump/util/FileUtils.scala b/core/src/main/scala/org/apache/gearpump/util/FileUtils.scala index 283a64a40..5f5540ac6 100644 --- a/core/src/main/scala/org/apache/gearpump/util/FileUtils.scala +++ b/core/src/main/scala/org/apache/gearpump/util/FileUtils.scala @@ -48,6 +48,6 @@ object FileUtils { throw new IOException(s"Failed to create directory ${directory.toString}, it already exist") } Files.createParentDirs(directory) - val result = directory.mkdir() + directory.mkdir() } } diff --git a/core/src/main/scala/org/apache/gearpump/util/LogUtil.scala b/core/src/main/scala/org/apache/gearpump/util/LogUtil.scala index 1897ca459..44cb87f94 100644 --- a/core/src/main/scala/org/apache/gearpump/util/LogUtil.scala +++ b/core/src/main/scala/org/apache/gearpump/util/LogUtil.scala @@ -93,8 +93,7 @@ object LogUtil { } def daemonLogDir(config: Config): File = { - val dir = config.getString(Constants.GEARPUMP_LOG_DAEMON_DIR) - new File(dir) + Util.asSubDirOfGearpumpHome(config.getString(Constants.GEARPUMP_LOG_DAEMON_DIR)) } def verboseLogToConsole(): Unit = { @@ -114,12 +113,10 @@ object LogUtil { } private def jvmName: String = { - val hostname = Try(InetAddress.getLocalHost.getHostName).getOrElse("local") java.lang.management.ManagementFactory.getRuntimeMXBean().getName() } def applicationLogDir(config: Config): File = { - val appLogDir = config.getString(Constants.GEARPUMP_LOG_APPLICATION_DIR) - new File(appLogDir) + Util.asSubDirOfGearpumpHome(config.getString(Constants.GEARPUMP_LOG_APPLICATION_DIR)) } } \ No newline at end of file diff --git a/core/src/main/scala/org/apache/gearpump/util/Util.scala b/core/src/main/scala/org/apache/gearpump/util/Util.scala index cc95df1a6..fe4b54033 100644 --- a/core/src/main/scala/org/apache/gearpump/util/Util.scala +++ b/core/src/main/scala/org/apache/gearpump/util/Util.scala @@ -179,4 +179,9 @@ object Util { JvmSetting(executorVMArgs .getOrElse(Array.empty[String]), executorClassPath.getOrElse(Array.empty[String]))) } + + def asSubDirOfGearpumpHome(dir: String): File = { + new File(System.getProperty(Constants.GEARPUMP_HOME), dir) + + } } \ No newline at end of file