This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git

commit e6c0926738298f4e83306cbfeb3585f7aee29007
Author: yongkang.zhong <[email protected]>
AuthorDate: Thu Apr 27 13:48:46 2023 +0800

    [optimization](conf) optimization JAVA_OPTS for be conf and be bin (#19029)
---
 bin/start_be.sh | 29 +++++++++++++++++++++++------
 conf/be.conf    |  5 ++++-
 2 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/bin/start_be.sh b/bin/start_be.sh
index 4124f22985..cb37a54cf8 100755
--- a/bin/start_be.sh
+++ b/bin/start_be.sh
@@ -262,18 +262,35 @@ if [[ -f "${DORIS_HOME}/conf/hdfs-site.xml" ]]; then
     export LIBHDFS3_CONF="${DORIS_HOME}/conf/hdfs-site.xml"
 fi
 
-if [[ -z ${JAVA_OPTS} ]]; then
-    # set default JAVA_OPTS
-    CUR_DATE=$(date +%Y%m%d-%H%M%S)
-    JAVA_OPTS="-Xmx1024m -DlogPath=${DORIS_HOME}/log/jni.log 
-Xloggc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} -Dsun.java.command=DorisBE 
-XX:-CriticalJNINatives"
+# check java version and choose correct JAVA_OPTS
+java_version="$(
+    set -e
+    jdk_version "${JAVA_HOME}/bin/java"
+)"
+
+CUR_DATE=$(date +%Y%m%d-%H%M%S)
+LOG_PATH="-DlogPath=${DORIS_HOME}/log/jni.log"
+COMMON_OPTS="-Dsun.java.command=DorisBE -XX:-CriticalJNINatives"
+JDBC_OPTS="-DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000"
+
+if [[ "${java_version}" -gt 8 ]]; then
+    if [[ -z ${JAVA_OPTS} ]]; then
+        JAVA_OPTS="-Xmx1024m ${LOG_PATH} 
-Xloggc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS} ${JDBC_OPTS}"
+    fi
+    final_java_opt="${JAVA_OPTS}"
+else
+    if [[ -z ${JAVA_OPTS_FOR_JDK_9} ]]; then
+        JAVA_OPTS_FOR_JDK_9="-Xmx1024m ${LOG_PATH} 
-Xlog:gc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS} ${JDBC_OPTS}"
+    fi
+    final_java_opt="${JAVA_OPTS_FOR_JDK_9}"
 fi
 
 if [[ "${MACHINE_OS}" == "Darwin" ]]; then
-    JAVA_OPTS="${JAVA_OPTS} -XX:-MaxFDLimit"
+    final_java_opt="${final_java_opt} -XX:-MaxFDLimit"
 fi
 
 # set LIBHDFS_OPTS for hadoop libhdfs
-export LIBHDFS_OPTS="${JAVA_OPTS}"
+export LIBHDFS_OPTS="${final_java_opt}"
 
 #echo "CLASSPATH: ${CLASSPATH}"
 #echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}"
diff --git a/conf/be.conf b/conf/be.conf
index e62925fc41..dcb9135813 100644
--- a/conf/be.conf
+++ b/conf/be.conf
@@ -18,7 +18,10 @@
 PPROF_TMPDIR="$DORIS_HOME/log/"
 
 CUR_DATE=`date +%Y%m%d-%H%M%S`
-JAVA_OPTS="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log 
-Xlog:gc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE 
-XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 
-DJDBC_MAX_IDEL_TIME=300000"
+JAVA_OPTS="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log 
-Xloggc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE 
-XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 
-DJDBC_MAX_IDEL_TIME=300000"
+
+# For jdk 9+, this JAVA_OPTS will be used as default JVM options
+JAVA_OPTS_FOR_JDK_9="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log 
-Xlog:gc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE 
-XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 
-DJDBC_MAX_IDEL_TIME=300000"
 
 # since 1.2, the JAVA_HOME need to be set to run BE process.
 # JAVA_HOME=/path/to/jdk/


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to