STORM-248 STORM-322 proposal for fix Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/49688fd5 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/49688fd5 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/49688fd5
Branch: refs/heads/master Commit: 49688fd5856e81d947255aca9cca4252d8243945 Parents: ab76e67 Author: fmazoyer <[email protected]> Authored: Fri Dec 19 17:12:57 2014 +0100 Committer: fmazoyer <[email protected]> Committed: Tue Jan 6 13:16:19 2015 +0100 ---------------------------------------------------------------------- bin/storm | 17 ++++++++--- bin/storm-config.cmd | 32 ++++++++++++++++++-- bin/storm.cmd | 12 ++++---- .../clj/backtype/storm/daemon/supervisor.clj | 5 ++- 4 files changed, 52 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/storm/blob/49688fd5/bin/storm ---------------------------------------------------------------------- diff --git a/bin/storm b/bin/storm index 83f5a9f..345bcbe 100755 --- a/bin/storm +++ b/bin/storm @@ -312,6 +312,13 @@ def repl(): cppaths = [CLUSTER_CONF_DIR] exec_storm_class("clojure.main", jvmtype="-client", extrajars=cppaths) +def get_logback_conf_dir(): + cppaths = [CLUSTER_CONF_DIR] + storm_logback_conf_dir = confvalue("storm.logback.conf.dir", cppaths) + if(storm_logback_conf_dir == None or storm_logback_conf_dir == "nil"): + storm_logback_conf_dir = STORM_DIR + "/logback" + return storm_logback_conf_dir + def nimbus(klass="backtype.storm.daemon.nimbus"): """Syntax: [storm nimbus] @@ -324,7 +331,7 @@ def nimbus(klass="backtype.storm.daemon.nimbus"): cppaths = [CLUSTER_CONF_DIR] jvmopts = parse_args(confvalue("nimbus.childopts", cppaths)) + [ "-Dlogfile.name=nimbus.log", - "-Dlogback.configurationFile=" + STORM_LOGBACK_FILE_PATH, + "-Dlogback.configurationFile=" + get_logback_conf_dir() + "/cluster.xml", ] exec_storm_class( klass, @@ -344,7 +351,7 @@ def supervisor(klass="backtype.storm.daemon.supervisor"): cppaths = [CLUSTER_CONF_DIR] jvmopts = parse_args(confvalue("supervisor.childopts", cppaths)) + [ "-Dlogfile.name=supervisor.log", - "-Dlogback.configurationFile=" + STORM_LOGBACK_FILE_PATH, + "-Dlogback.configurationFile=" + get_logback_conf_dir() + "/cluster.xml", ] exec_storm_class( klass, @@ -365,7 +372,7 @@ def ui(): cppaths = [CLUSTER_CONF_DIR] jvmopts = parse_args(confvalue("ui.childopts", cppaths)) + [ "-Dlogfile.name=ui.log", - "-Dlogback.configurationFile=" + STORM_LOGBACK_FILE_PATH, + "-Dlogback.configurationFile=" + get_logback_conf_dir() + "/cluster.xml" ] exec_storm_class( "backtype.storm.ui.core", @@ -386,7 +393,7 @@ def logviewer(): cppaths = [CLUSTER_CONF_DIR] jvmopts = parse_args(confvalue("logviewer.childopts", cppaths)) + [ "-Dlogfile.name=logviewer.log", - "-Dlogback.configurationFile=" + STORM_LOGBACK_FILE_PATH, + "-Dlogback.configurationFile=" + get_logback_conf_dir() + "/cluster.xml" ] exec_storm_class( "backtype.storm.daemon.logviewer", @@ -406,7 +413,7 @@ def drpc(): cppaths = [CLUSTER_CONF_DIR] jvmopts = parse_args(confvalue("drpc.childopts", cppaths)) + [ "-Dlogfile.name=drpc.log", - "-Dlogback.configurationFile=" + STORM_LOGBACK_FILE_PATH, + "-Dlogback.configurationFile=" + get_logback_conf_dir() + "/cluster.xml" ] exec_storm_class( "backtype.storm.daemon.drpc", http://git-wip-us.apache.org/repos/asf/storm/blob/49688fd5/bin/storm-config.cmd ---------------------------------------------------------------------- diff --git a/bin/storm-config.cmd b/bin/storm-config.cmd index 9a11c34..5203241 100644 --- a/bin/storm-config.cmd +++ b/bin/storm-config.cmd @@ -49,7 +49,7 @@ if not defined JAVA_HOME ( set JAVA_HOME=c:\apps\java\openjdk7 ) -if not exist %JAVA_HOME%\bin\java.exe ( +if not exist "%JAVA_HOME%\bin\java.exe" ( echo Error: JAVA_HOME is incorrectly set. goto :eof ) @@ -82,10 +82,38 @@ if not defined STORM_LOG_DIR ( set STORM_LOG_DIR=%STORM_HOME%\logs ) +@rem +@rem retrieve storm.logback.conf.dir from conf file +@rem + +"%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value storm.logback.conf.dir > temp.txt + +FOR /F "delims=" %%i in (temp.txt) do ( + FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( + if %%a == VALUE: ( + set STORM_LOGBACK_CONFIGURATION_DIR=%%b + del /F temp.txt) + ) + ) +) + +@rem +@rem if STORM_LOGBACK_CONFIGURATION_DIR was defined, also set STORM_LOGBACK_CONFIGURATION_FILE +@rem + +if not %STORM_LOGBACK_CONFIGURATION_DIR% == nil ( + set STORM_LOGBACK_CONFIGURATION_FILE=%STORM_LOGBACK_CONFIGURATION_DIR%\cluster.xml +) + +@rem +@rem otherwise, fall back to default +@rem + if not defined STORM_LOGBACK_CONFIGURATION_FILE ( set STORM_LOGBACK_CONFIGURATION_FILE=%STORM_HOME%\logback\cluster.xml ) -%JAVA% -client -Dstorm.options= -Dstorm.conf.file= -cp %CLASSPATH% backtype.storm.command.config_value java.library.path > temp.txt + +"%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value java.library.path > temp.txt FOR /F "delims=" %%i in (temp.txt) do ( FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( http://git-wip-us.apache.org/repos/asf/storm/blob/49688fd5/bin/storm.cmd ---------------------------------------------------------------------- diff --git a/bin/storm.cmd b/bin/storm.cmd index 0cf6b52..d0d2c29 100644 --- a/bin/storm.cmd +++ b/bin/storm.cmd @@ -89,7 +89,7 @@ %JAVA% %JAVA_HEAP_MAX% %STORM_OPTS% %STORM_LOG_FILE% %CLASS% %storm-command-arguments% ) set path=%PATH%;%STORM_BIN_DIR%;%STORM_SBIN_DIR% - call start /b %JAVA% %JAVA_HEAP_MAX% %STORM_OPTS% %STORM_LOG_FILE% %CLASS% %storm-command-arguments% + call start /b "%storm-command%" "%JAVA%" %JAVA_HEAP_MAX% %STORM_OPTS% %STORM_LOG_FILE% %CLASS% %storm-command-arguments% goto :eof @@ -114,7 +114,7 @@ :drpc set CLASS=backtype.storm.daemon.drpc - %JAVA% -client -Dstorm.options= -Dstorm.conf.file= -cp %CLASSPATH% backtype.storm.command.config_value drpc.childopts > temp.txt + "%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value drpc.childopts > temp.txt FOR /F "delims=" %%i in (temp.txt) do ( FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( if %%a == VALUE: ( @@ -140,7 +140,7 @@ :logviewer set CLASS=backtype.storm.daemon.logviewer - %JAVA% -client -Dstorm.options= -Dstorm.conf.file= -cp %CLASSPATH% backtype.storm.command.config_value logviewer.childopts > temp.txt + "%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value logviewer.childopts > temp.txt FOR /F "delims=" %%i in (temp.txt) do ( FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( if %%a == VALUE: ( @@ -152,7 +152,7 @@ :nimbus set CLASS=backtype.storm.daemon.nimbus - %JAVA% -client -Dstorm.options= -Dstorm.conf.file= -cp %CLASSPATH% backtype.storm.command.config_value nimbus.childopts > temp.txt + "%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value nimbus.childopts > temp.txt FOR /F "delims=" %%i in (temp.txt) do ( FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( if %%a == VALUE: ( @@ -184,7 +184,7 @@ :supervisor set CLASS=backtype.storm.daemon.supervisor - %JAVA% -client -Dstorm.options= -Dstorm.conf.file= -cp %CLASSPATH% backtype.storm.command.config_value supervisor.childopts > temp.txt + "%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value supervisor.childopts > temp.txt FOR /F "delims=" %%i in (temp.txt) do ( FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( if %%a == VALUE: ( @@ -197,7 +197,7 @@ :ui set CLASS=backtype.storm.ui.core set CLASSPATH=%CLASSPATH%;%STORM_HOME% - %JAVA% -client -Dstorm.options= -Dstorm.conf.file= -cp %CLASSPATH% backtype.storm.command.config_value ui.childopts > temp.txt + "%JAVA%" -client -Dstorm.options= -Dstorm.conf.file= -cp "%CLASSPATH%" backtype.storm.command.config_value ui.childopts > temp.txt FOR /F "delims=" %%i in (temp.txt) do ( FOR /F "tokens=1,* delims= " %%a in ("%%i") do ( if %%a == VALUE: ( http://git-wip-us.apache.org/repos/asf/storm/blob/49688fd5/storm-core/src/clj/backtype/storm/daemon/supervisor.clj ---------------------------------------------------------------------- diff --git a/storm-core/src/clj/backtype/storm/daemon/supervisor.clj b/storm-core/src/clj/backtype/storm/daemon/supervisor.clj index 8187843..81ecf0f 100644 --- a/storm-core/src/clj/backtype/storm/daemon/supervisor.clj +++ b/storm-core/src/clj/backtype/storm/daemon/supervisor.clj @@ -614,6 +614,9 @@ storm-options (System/getProperty "storm.options") storm-conf-file (System/getProperty "storm.conf.file") storm-log-dir (or (System/getProperty "storm.log.dir") (str storm-home file-path-separator "logs")) + storm-conf (read-storm-config) + storm-log-conf-dir (storm-conf "storm.logback.conf.dir") + storm-logback-conf-dir (or storm-log-conf-dir (str storm-home file-path-separator "logback")) stormroot (supervisor-stormdist-root conf storm-id) jlp (jlp stormroot conf) stormjar (supervisor-stormjar-path stormroot) @@ -646,7 +649,7 @@ (str "-Dstorm.conf.file=" storm-conf-file) (str "-Dstorm.options=" storm-options) (str "-Dstorm.log.dir=" storm-log-dir) - (str "-Dlogback.configurationFile=" storm-home file-path-separator "logback" file-path-separator "worker.xml") + (str "-Dlogback.configurationFile=" storm-logback-conf-dir file-path-separator "worker.xml") (str "-Dstorm.id=" storm-id) (str "-Dworker.id=" worker-id) (str "-Dworker.port=" port)
