This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new ae2fb252a00 [fix](java) should use JAVA_OPTS_FOR_JDK_17 instead of JAVA_OPTS (#47913) ae2fb252a00 is described below commit ae2fb252a00ce77a7d6e6dee853aa60dde40ed8f Author: Mingyu Chen (Rayner) <morning...@163.com> AuthorDate: Sat Feb 15 21:09:41 2025 +0800 [fix](java) should use JAVA_OPTS_FOR_JDK_17 instead of JAVA_OPTS (#47913) ### What problem does this PR solve? Related PR: #47299 Problem Summary: The master branch only support java 17+, so should remote all `JAVA_OPTS` and use `JAVA_OPTS_FOR_JDK_17` --- be/src/util/jni-util.cpp | 7 ++++--- bin/start_be.sh | 5 +++-- bin/start_fe.sh | 5 +++-- conf/be.conf | 3 --- conf/fe.conf | 3 --- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/be/src/util/jni-util.cpp b/be/src/util/jni-util.cpp index 188656c398b..99b6fbc9b88 100644 --- a/be/src/util/jni-util.cpp +++ b/be/src/util/jni-util.cpp @@ -107,7 +107,8 @@ const std::string GetKerb5ConfPath() { setenv("CLASSPATH", classpath.c_str(), 0); // LIBHDFS_OPTS - const std::string java_opts = getenv("JAVA_OPTS") ? getenv("JAVA_OPTS") : ""; + const std::string java_opts = + getenv("JAVA_OPTS_FOR_JDK_17") ? getenv("JAVA_OPTS_FOR_JDK_17") : ""; std::string libhdfs_opts = fmt::format("{} -Djava.library.path={}/lib/hadoop_hdfs/native:{} ", java_opts, getenv("DORIS_HOME"), getenv("DORIS_HOME") + std::string("/lib")); @@ -123,7 +124,7 @@ const std::string GetKerb5ConfPath() { if (rv == 0) { std::vector<std::string> options; - char* java_opts = getenv("JAVA_OPTS"); + char* java_opts = getenv("JAVA_OPTS_FOR_JDK_17"); if (java_opts == nullptr) { options = { GetDorisJNIClasspathOption(), fmt::format("-Xmx{}", "1g"), @@ -216,7 +217,7 @@ Status JniLocalFrame::push(JNIEnv* env, int max_local_ref) { } void JniUtil::parse_max_heap_memory_size_from_jvm(JNIEnv* env) { - // The start_be.sh would set JAVA_OPTS inside LIBHDFS_OPTS + // The start_be.sh would set JAVA_OPTS_FOR_JDK_17 inside LIBHDFS_OPTS std::string java_opts = getenv("LIBHDFS_OPTS") ? getenv("LIBHDFS_OPTS") : ""; std::istringstream iss(java_opts); std::string opt; diff --git a/bin/start_be.sh b/bin/start_be.sh index de1fea82d38..01422a2d20c 100755 --- a/bin/start_be.sh +++ b/bin/start_be.sh @@ -384,7 +384,7 @@ if [[ -f "${DORIS_HOME}/conf/hdfs-site.xml" ]]; then export LIBHDFS3_CONF="${DORIS_HOME}/conf/hdfs-site.xml" fi -# check java version and choose correct JAVA_OPTS +# check java version and choose correct JAVA_OPTS_FOR_JDK_17 java_version="$( set -e jdk_version "${JAVA_HOME}/bin/java" @@ -412,12 +412,13 @@ if [[ "${MACHINE_OS}" == "Darwin" ]]; then fi if [[ -n "${JAVA_OPTS_FOR_JDK_17}" ]] && ! echo "${JAVA_OPTS_FOR_JDK_17}" | grep "${max_fd_limit/-/\\-}" >/dev/null; then - export JAVA_OPTS="${JAVA_OPTS_FOR_JDK_17} ${max_fd_limit}" + export JAVA_OPTS_FOR_JDK_17="${JAVA_OPTS_FOR_JDK_17} ${max_fd_limit}" fi fi # set LIBHDFS_OPTS for hadoop libhdfs export LIBHDFS_OPTS="${final_java_opt}" +export JAVA_OPTS="${final_java_opt}" # log "CLASSPATH: ${CLASSPATH}" # log "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" diff --git a/bin/start_fe.sh b/bin/start_fe.sh index 5ae69867329..1590d603447 100755 --- a/bin/start_fe.sh +++ b/bin/start_fe.sh @@ -91,10 +91,10 @@ export DORIS_HOME # export env variables from fe.conf # -# JAVA_OPTS +# JAVA_OPTS_FOR_JDK_17 # LOG_DIR # PID_DIR -export JAVA_OPTS="-Xmx1024m" +export JAVA_OPTS_FOR_JDK_17="-Xmx1024m" export LOG_DIR="${DORIS_HOME}/log" PID_DIR="$( cd "${curdir}" @@ -204,6 +204,7 @@ else fi log "Using Java version ${java_version}" log "${final_java_opt}" +export JAVA_OPTS="${final_java_opt}" # add libs to CLASSPATH DORIS_FE_JAR= diff --git a/conf/be.conf b/conf/be.conf index ddbc385522e..bd01e4222f9 100644 --- a/conf/be.conf +++ b/conf/be.conf @@ -20,9 +20,6 @@ CUR_DATE=`date +%Y%m%d-%H%M%S` # Log dir LOG_DIR="${DORIS_HOME}/log/" -# For jdk 8 -JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx2048m -DlogPath=$LOG_DIR/jni.log -Xloggc:$LOG_DIR/be.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.security.krb5.debug=true -Dsun.java.command=DorisBE -XX:-CriticalJNINatives" - # For jdk 17, this JAVA_OPTS will be used as default JVM options JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 -Djol.skipHotspotSAAttach=true -Xmx2048m -DlogPath=$LOG_DIR/jni.log -Xlog:gc*:$LOG_DIR/be.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.security.krb5.debug=true -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-U [...] diff --git a/conf/fe.conf b/conf/fe.conf index 72734a86733..5db098f289f 100644 --- a/conf/fe.conf +++ b/conf/fe.conf @@ -26,9 +26,6 @@ CUR_DATE=`date +%Y%m%d-%H%M%S` # Log dir LOG_DIR = ${DORIS_HOME}/log -# For jdk 8 -JAVA_OPTS="-Dfile.encoding=UTF-8 -Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintClassHistogramAfterFullGC -Xloggc:$LOG_DIR/log/fe.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Dlog4j2.formatMsgNoLookups=true" - # For jdk 17, this JAVA_OPTS will be used as default JVM options JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 -Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR -Xlog:gc*,classhisto*=trace:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.ref=ALL-UNNAMED" --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org