Revert "[Enhencement](env) Checking Master branch must use JDK17 (#31587)"

This reverts commit fa499cc200344eaaf837fd52211820dc7b7b9296.
This commit is contained in:
yiguolei
2024-03-06 13:13:49 +08:00
parent 649f04e17c
commit 6ea5218ee8
4 changed files with 28 additions and 85 deletions

View File

@ -298,14 +298,21 @@ 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"
if [[ "${java_version}" -eq 17 ]]; then
if [[ "${java_version}" -gt 16 ]]; then
if [[ -z ${JAVA_OPTS_FOR_JDK_17} ]]; then
JAVA_OPTS_FOR_JDK_17="-Xmx1024m ${LOG_PATH} -Xlog:gc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS} --add-opens=java.base/java.net=ALL-UNNAMED"
fi
final_java_opt="${JAVA_OPTS_FOR_JDK_17}"
elif [[ "${java_version}" -gt 8 ]]; then
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}"
fi
final_java_opt="${JAVA_OPTS_FOR_JDK_9}"
else
echo "ERROR: The jdk_version is ${java_version}, it must be 17." >>"${LOG_DIR}/be.out"
exit 1
if [[ -z ${JAVA_OPTS} ]]; then
JAVA_OPTS="-Xmx1024m ${LOG_PATH} -Xloggc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS}"
fi
final_java_opt="${JAVA_OPTS}"
fi
if [[ "${MACHINE_OS}" == "Darwin" ]]; then

View File

@ -180,15 +180,19 @@ java_version="$(
set -e
jdk_version "${JAVA}"
)"
if [[ "${java_version}" -eq 17 ]]; then
final_java_opt="${JAVA_OPTS}"
if [[ "${java_version}" -gt 16 ]]; then
if [[ -z "${JAVA_OPTS_FOR_JDK_17}" ]]; then
echo "JAVA_OPTS_FOR_JDK_17 is not set in fe.conf" >>"${LOG_DIR}/fe.out"
exit 1
fi
final_java_opt="${JAVA_OPTS_FOR_JDK_17}"
else
echo "ERROR: The jdk_version is ${java_version}, it must be 17." >>"${LOG_DIR}/fe.out"
exit 1
elif [[ "${java_version}" -gt 8 ]]; then
if [[ -z "${JAVA_OPTS_FOR_JDK_9}" ]]; then
echo "JAVA_OPTS_FOR_JDK_9 is not set in fe.conf" >>"${LOG_DIR}/fe.out"
exit 1
fi
final_java_opt="${JAVA_OPTS_FOR_JDK_9}"
fi
echo "using java version ${java_version}" >>"${LOG_DIR}/fe.out"
echo "${final_java_opt}" >>"${LOG_DIR}/fe.out"

View File

@ -39,7 +39,7 @@ JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m -XX:
JAVA_OPTS_FOR_JDK_9="-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xlog:gc*:$DORIS_HOME/log/fe.gc.log.$CUR_DATE:time -Dlog4j2.formatMsgNoLookups=true"
# For jdk 17+, this JAVA_OPTS will be used as default JVM options
JAVA_OPTS_FOR_JDK_17="-Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$DORIS_HOME/log/ -Xlog:gc*:$DORIS_HOME/log/fe.gc.log.$CUR_DATE:time"
JAVA_OPTS_FOR_JDK_17="-Djavax.security.auth.useSubjectCredsOnly=false -XX:+UseZGC -Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$DORIS_HOME/log/ -Xlog:gc*:$DORIS_HOME/log/fe.gc.log.$CUR_DATE:time"
##
## the lowercase properties are read by main program.

86
env.sh
View File

@ -199,53 +199,6 @@ CLANG_COMPATIBLE_FLAGS="$(echo | "${DORIS_GCC_HOME}/bin/gcc" -Wp,-v -xc++ - -fsy
grep -E '^\s+/' | awk '{print "-I" $1}' | tr '\n' ' ')"
export CLANG_COMPATIBLE_FLAGS
# get jdk version, return version as an Integer.
# 1.8 => 8, 13.0 => 13
function jdk_version() {
local java_cmd="${1}"
local result
local IFS=$'\n'
if [[ -z "${java_cmd}" ]]; then
result=no_java
return 1
else
local version
# remove \r for Cygwin
version="$("${java_cmd}" -Xms32M -Xmx32M -version 2>&1 | tr '\r' '\n' | grep version | awk '{print $3}')"
version="${version//\"/}"
if [[ "${version}" =~ ^1\. ]]; then
result="$(echo "${version}" | awk -F '.' '{print $2}')"
else
result="$(echo "${version}" | awk -F '.' '{print $1}')"
fi
fi
echo "${result}"
return 0
}
# check java version
# must use jdk_17
function check_jdk_version() {
if [[ ! -x "${JAVA}" ]]; then
echo "The JAVA_HOME environment variable is not defined correctly"
echo "This environment variable is needed to run this program"
echo "NB: JAVA_HOME should point to a JDK not a JRE"
exit 1
fi
echo "Check JAVA version"
java_version="$(
set -e
jdk_version "${JAVA}"
)"
if [[ "${java_version}" -ne 17 ]]; then
echo "ERROR: The JAVA version is ${java_version}, it must be JDK-17."
exit 1
fi
return 0
}
# if is called from build-thirdparty.sh, no need to check these tools
if test -z "${BUILD_THIRDPARTY_WIP:-}"; then
# register keyword is forbidden to use in C++17
@ -260,42 +213,21 @@ if test -z "${BUILD_THIRDPARTY_WIP:-}"; then
# check java home
if [[ -z "${JAVA_HOME}" ]]; then
if [[ -n "${JDK_17}" ]]; then
echo "Use JDK_17 = ${JDK_17}"
JAVA="${JDK_17}/bin/java"
JAVAP="${JDK_17}/bin/javap"
export JAVA_HOME="${JDK_17}"
else
JAVA="$(command -v java)"
JAVAP="$(command -v javap)"
fi
check_jdk_version
JAVA="$(command -v java)"
JAVAP="$(command -v javap)"
else
JAVA="${JAVA_HOME}/bin/java"
JAVAP="${JAVA_HOME}/bin/javap"
echo "Check JAVA_HOME version"
java_version="$(
set -e
jdk_version "${JAVA}"
)"
if [[ "${java_version}" -ne 17 ]]; then
echo "JAVA_HOME=${JAVA_HOME}. It does not point to JDK-17."
if [[ -n "${JDK_17}" ]]; then
echo "Use JDK_17=${JDK_17}."
JAVA="${JDK_17}/bin/java"
JAVAP="${JDK_17}/bin/javap"
export JAVA_HOME="${JDK_17}"
check_jdk_version
else
echo "The 'JDK_17' environment variable is not set."
echo "ERROR: The JAVA version is ${java_version}, it must be JDK-17."
exit 1
fi
fi
fi
export JAVA
if [[ ! -x "${JAVA}" ]]; then
echo "The JAVA_HOME environment variable is not defined correctly"
echo "This environment variable is needed to run this program"
echo "NB: JAVA_HOME should point to a JDK not a JRE"
exit 1
fi
JAVA_VER="$("${JAVAP}" -verbose java.lang.String | grep "major version" | cut -d " " -f5)"
if [[ "${JAVA_VER}" -lt 52 ]]; then
echo "Error: require JAVA with JDK version at least 1.8"