|
82 | 82 | phoenix_out_file = '%s.out' % phoenix_file_basename
|
83 | 83 | phoenix_pid_file = '%s.pid' % phoenix_file_basename
|
84 | 84 |
|
85 |
| -# load hbase-env.??? to extract JAVA_HOME, HBASE_PID_DIR, HBASE_LOG_DIR |
86 |
| -hbase_env_path = None |
87 |
| -hbase_env_cmd = None |
88 |
| -if os.name == 'posix': |
89 |
| - hbase_env_path = os.path.join(hbase_conf_dir, 'hbase-env.sh') |
90 |
| - hbase_env_cmd = ['bash', '-c', 'source %s && env' % hbase_env_path] |
91 |
| -elif os.name == 'nt': |
92 |
| - hbase_env_path = os.path.join(hbase_conf_dir, 'hbase-env.cmd') |
93 |
| - hbase_env_cmd = ['cmd.exe', '/c', 'call %s & set' % hbase_env_path] |
94 |
| -if not hbase_env_path or not hbase_env_cmd: |
95 |
| - sys.stderr.write("hbase-env file unknown on platform {}{}".format(os.name, os.linesep)) |
96 |
| - sys.exit(-1) |
97 |
| - |
98 |
| -hbase_env = {} |
99 |
| -if os.path.isfile(hbase_env_path): |
100 |
| - p = subprocess.Popen(hbase_env_cmd, stdout = subprocess.PIPE) |
101 |
| - for x in p.stdout: |
102 |
| - (k, _, v) = tryDecode(x).partition('=') |
103 |
| - hbase_env[k.strip()] = v.strip() |
104 |
| - |
105 |
| -java_home = hbase_env.get('JAVA_HOME') or os.getenv('JAVA_HOME') |
106 |
| -if java_home: |
107 |
| - java = os.path.join(java_home, 'bin', 'java') |
108 |
| -else: |
109 |
| - java = 'java' |
110 |
| - |
111 | 85 | tmp_dir = os.path.join(tempfile.gettempdir(), 'phoenix')
|
| 86 | +hbase_env = phoenix_queryserver_utils.hbase_env |
112 | 87 | opts = os.getenv('PHOENIX_QUERYSERVER_OPTS') or hbase_env.get('PHOENIX_QUERYSERVER_OPTS') or ''
|
113 | 88 | pid_dir = os.getenv('PHOENIX_QUERYSERVER_PID_DIR') or hbase_env.get('HBASE_PID_DIR') or tmp_dir
|
114 | 89 | log_dir = os.getenv('PHOENIX_QUERYSERVER_LOG_DIR') or hbase_env.get('HBASE_LOG_DIR') or tmp_dir
|
|
120 | 95 | # " -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true" + \
|
121 | 96 |
|
122 | 97 | # The command is run through subprocess so environment variables are automatically inherited
|
123 |
| -java_cmd = '%(java)s -cp ' +\ |
| 98 | +java_cmd = '%(java)s %(jvm_module_flags)s -cp ' +\ |
124 | 99 | hbase_conf_dir + os.pathsep + \
|
125 | 100 | hadoop_conf_dir + os.pathsep + \
|
126 | 101 | phoenix_queryserver_utils.slf4j_backend_jar + os.pathsep + \
|
|
137 | 112 | " org.apache.phoenix.queryserver.server.QueryServer " + args
|
138 | 113 |
|
139 | 114 | if command == 'makeWinServiceDesc':
|
140 |
| - cmd = java_cmd % {'java': java, 'root_logger': 'INFO,DRFA,console', 'log_dir': log_dir, 'log_file': phoenix_log_file} |
| 115 | + cmd = (java_cmd % {'java': phoenix_queryserver_utils.java, |
| 116 | + 'jvm_module_flags':phoenix_queryserver_utils.jvm_module_flags, |
| 117 | + 'root_logger': 'INFO,DRFA,console', |
| 118 | + 'log_dir': log_dir, |
| 119 | + 'log_file': phoenix_log_file}) |
141 | 120 | slices = cmd.split(' ')
|
142 | 121 |
|
143 | 122 | print("<service>")
|
|
174 | 153 | with context:
|
175 | 154 | # this block is the main() for the forked daemon process
|
176 | 155 | child = None
|
177 |
| - cmd = java_cmd % {'java': java, 'root_logger': 'INFO,DRFA', 'log_dir': log_dir, 'log_file': phoenix_log_file} |
| 156 | + cmd = (java_cmd % {'java': phoenix_queryserver_utils.java, |
| 157 | + 'jvm_module_flags':phoenix_queryserver_utils.jvm_module_flags, |
| 158 | + 'root_logger': 'INFO,DRFA', |
| 159 | + 'log_dir': log_dir, |
| 160 | + 'log_file': phoenix_log_file}) |
178 | 161 |
|
179 | 162 | # notify the child when we're killed
|
180 | 163 | def handler(signum, frame):
|
@@ -215,6 +198,10 @@ def handler(signum, frame):
|
215 | 198 |
|
216 | 199 | else:
|
217 | 200 | # run in the foreground using defaults from log4j.properties
|
218 |
| - cmd = java_cmd % {'java': java, 'root_logger': 'INFO,console', 'log_dir': '.', 'log_file': 'psql.log'} |
| 201 | + cmd = (java_cmd % {'java': phoenix_queryserver_utils.java, |
| 202 | + 'jvm_module_flags':phoenix_queryserver_utils.jvm_module_flags, |
| 203 | + 'root_logger': 'INFO,console', |
| 204 | + 'log_dir': '.', |
| 205 | + 'log_file': 'psql.log'}) |
219 | 206 | splitcmd = cmd.split()
|
220 | 207 | os.execvp(splitcmd[0], splitcmd)
|
0 commit comments