PHOENIX-1990 bin/queryserver makeWinServiceDesc doesn't actually work in Windows
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c83ab9ed Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c83ab9ed Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c83ab9ed Branch: refs/heads/json Commit: c83ab9edba7b417a001fb702de5d893cbda95f29 Parents: 6fc53b5 Author: Nick Dimiduk <ndimi...@apache.org> Authored: Mon May 18 16:00:31 2015 -0700 Committer: Nick Dimiduk <ndimi...@apache.org> Committed: Mon May 18 16:00:31 2015 -0700 ---------------------------------------------------------------------- bin/queryserver.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/c83ab9ed/bin/queryserver.py ---------------------------------------------------------------------- diff --git a/bin/queryserver.py b/bin/queryserver.py index 6a18741..7666246 100755 --- a/bin/queryserver.py +++ b/bin/queryserver.py @@ -78,11 +78,22 @@ phoenix_out_file = '%s.out' % phoenix_file_basename phoenix_pid_file = '%s.pid' % phoenix_file_basename opts = os.getenv('PHOENIX_QUERYSERVER_OPTS', '') -# load hbase-env.sh to extract JAVA_HOME, HBASE_PID_DIR, HBASE_LOG_DIR -hbase_env_path = os.path.join(hbase_config_path, 'hbase-env.sh') +# load hbase-env.??? to extract JAVA_HOME, HBASE_PID_DIR, HBASE_LOG_DIR +hbase_env_path = None +hbase_env_cmd = None +if os.name == 'posix': + hbase_env_path = os.path.join(hbase_config_path, 'hbase-env.sh') + hbase_env_cmd = ['bash', '-c', 'source %s && env' % hbase_env_path] +elif os.name == 'nt': + hbase_env_path = os.path.join(hbase_config_path, 'hbase-env.cmd') + hbase_env_cmd = ['cmd.exe', '/c', 'call %s & set' % hbase_env_path] +if not hbase_env_path or not hbase_env_cmd: + print >> sys.stderr, "hbase-env file unknown on platform %s" % os.name + sys.exit(-1) + hbase_env = {} if os.path.isfile(hbase_env_path): - p = subprocess.Popen(['bash', '-c', 'source %s && env' % hbase_env_path], stdout = subprocess.PIPE) + p = subprocess.Popen(hbase_env_cmd, stdout = subprocess.PIPE) for x in p.stdout: (k, _, v) = x.partition('=') hbase_env[k.strip()] = v.strip()