diff --git a/bin/start_fe.sh b/bin/start_fe.sh index 14f7624b8d..56f78af697 100755 --- a/bin/start_fe.sh +++ b/bin/start_fe.sh @@ -218,7 +218,7 @@ export CLASSPATH="${DORIS_HOME}/conf:${CLASSPATH}:${DORIS_HOME}/lib" pidfile="${PID_DIR}/fe.pid" -if [[ -f "${pidfile}" ]]; then +if [[ -f "${pidfile}" ]] && [[ "${OPT_VERSION}" == "" ]]; then if kill -0 "$(cat "${pidfile}")" >/dev/null 2>&1; then echo "Frontend running as process $(cat "${pidfile}"). Stop it first." exit 1 @@ -258,4 +258,7 @@ else ${LIMIT:+${LIMIT}} "${JAVA}" ${final_java_opt:+${final_java_opt}} -XX:-OmitStackTraceInFastThrow -XX:OnOutOfMemoryError="kill -9 %p" ${coverage_opt:+${coverage_opt}} org.apache.doris.DorisFE ${HELPER:+${HELPER}} ${OPT_VERSION:+${OPT_VERSION}} "$@" >>"${LOG_DIR}/fe.out" 2>&1 "${pidfile}" diff --git a/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java b/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java index 1e9d5de054..b76f609f74 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java @@ -101,6 +101,11 @@ public class DorisFE { CommandLineOptions cmdLineOpts = parseArgs(args); try { + if (cmdLineOpts.isVersion()) { + printVersion(); + System.exit(0); + } + // pid file if (!createAndLockPidFile(pidDir + "/fe.pid")) { throw new IOException("pid file is already locked."); @@ -371,13 +376,17 @@ public class DorisFE { return new CommandLineOptions(false, null, null, ""); } + private static void printVersion() { + System.out.println("Build version: " + Version.DORIS_BUILD_VERSION); + System.out.println("Build time: " + Version.DORIS_BUILD_TIME); + System.out.println("Build info: " + Version.DORIS_BUILD_INFO); + System.out.println("Build hash: " + Version.DORIS_BUILD_HASH); + System.out.println("Java compile version: " + Version.DORIS_JAVA_COMPILE_VERSION); + } + private static void checkCommandLineOptions(CommandLineOptions cmdLineOpts) { if (cmdLineOpts.isVersion()) { - System.out.println("Build version: " + Version.DORIS_BUILD_VERSION); - System.out.println("Build time: " + Version.DORIS_BUILD_TIME); - System.out.println("Build info: " + Version.DORIS_BUILD_INFO); - System.out.println("Build hash: " + Version.DORIS_BUILD_HASH); - System.out.println("Java compile version: " + Version.DORIS_JAVA_COMPILE_VERSION); + printVersion(); System.exit(0); } else if (cmdLineOpts.runBdbTools()) { BDBTool bdbTool = new BDBTool(Env.getCurrentEnv().getBdbDir(), cmdLineOpts.getBdbToolOpts());