Skip to content

Commit

Permalink
[fix](script) Support starting BE without Java environment (apache#11910
Browse files Browse the repository at this point in the history
)
  • Loading branch information
adonis0147 authored Aug 19, 2022
1 parent 0728f08 commit e63c83e
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 47 deletions.
48 changes: 29 additions & 19 deletions bin/start_be.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ done
export DORIS_JNI_CLASSPATH_PARAMETER="-Djava.class.path=${DORIS_JNI_CLASSPATH_PARAMETER}"

jdk_version() {
local java_cmd="${1}"
local result
local java_cmd="${JAVA_HOME:-.}/bin/java"
local IFS=$'\n'

if [[ -z "${java_cmd}" ]]; then
Expand All @@ -97,24 +97,34 @@ jdk_version() {
return 0
}

jvm_arch="amd64"
MACHINE_TYPE="$(uname -m)"
if [[ "${MACHINE_TYPE}" == "aarch64" ]]; then
jvm_arch="aarch64"
fi
java_version="$(
set -e
jdk_version
)"
if [[ "${java_version}" -gt 8 ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/server:${JAVA_HOME}/lib:${LD_LIBRARY_PATH}"
# JAVA_HOME is jdk
elif [[ -d "${JAVA_HOME}/jre" ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/${jvm_arch}/server:${JAVA_HOME}/jre/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
# JAVA_HOME is jre
else
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/${jvm_arch}/server:${JAVA_HOME}/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
fi
setup_java_env() {
local java_version

if [[ -z "${JAVA_HOME}" ]]; then
return 1
fi

local jvm_arch='amd64'
if [[ "$(uname -m)" == 'aarch64' ]]; then
jvm_arch='aarch64'
fi
java_version="$(
set -e
jdk_version "${JAVA_HOME}/bin/java"
)"
if [[ "${java_version}" -gt 8 ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/server:${JAVA_HOME}/lib:${LD_LIBRARY_PATH}"
# JAVA_HOME is jdk
elif [[ -d "${JAVA_HOME}/jre" ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/${jvm_arch}/server:${JAVA_HOME}/jre/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
# JAVA_HOME is jre
else
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/${jvm_arch}/server:${JAVA_HOME}/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
fi
}

# prepare jvm if needed
setup_java_env || true

# export env variables from be.conf
#
Expand Down
4 changes: 2 additions & 2 deletions bin/start_fe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ fi
# get jdk version, return version as an Integer.
# 1.8 => 8, 13.0 => 13
jdk_version() {
local java_cmd="${1}"
local result
local java_cmd="${JAVA_HOME:-.}/bin/java"
local IFS=$'\n'

if [[ -z "${java_cmd}" ]]; then
Expand Down Expand Up @@ -148,7 +148,7 @@ fi
# check java version and choose correct JAVA_OPTS
java_version="$(
set -e
jdk_version
jdk_version "${JAVA}"
)"
final_java_opt="${JAVA_OPTS}"
if [[ "${java_version}" -gt 8 ]]; then
Expand Down
49 changes: 29 additions & 20 deletions run-be-ut.sh
Original file line number Diff line number Diff line change
Expand Up @@ -193,10 +193,9 @@ done < <(find "${DORIS_TEST_BINARY_DIR}" -name "*gcda")

export DORIS_TEST_BINARY_DIR="${DORIS_TEST_BINARY_DIR}/test"

# prepare jvm if needed
jdk_version() {
local java_cmd="${1}"
local result
local java_cmd="${JAVA_HOME}/bin/java"
local IFS=$'\n'

if [[ -z "${java_cmd}" ]]; then
Expand All @@ -217,24 +216,34 @@ jdk_version() {
return 0
}

jvm_arch="amd64"
MACHINE_TYPE="$(uname -m)"
if [[ "${MACHINE_TYPE}" == "aarch64" ]]; then
jvm_arch="aarch64"
fi
java_version="$(
set -e
jdk_version
)"
if [[ "${java_version}" -gt 8 ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/server:${JAVA_HOME}/lib:${LD_LIBRARY_PATH}"
# JAVA_HOME is jdk
elif [[ -d "${JAVA_HOME}/jre" ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/${jvm_arch}/server:${JAVA_HOME}/jre/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
# JAVA_HOME is jre
else
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/${jvm_arch}/server:${JAVA_HOME}/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
fi
setup_java_env() {
local java_version

if [[ -z "${JAVA_HOME}" ]]; then
return 1
fi

local jvm_arch='amd64'
if [[ "$(uname -m)" == 'aarch64' ]]; then
jvm_arch='aarch64'
fi
java_version="$(
set -e
jdk_version "${JAVA_HOME}/bin/java"
)"
if [[ "${java_version}" -gt 8 ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/server:${JAVA_HOME}/lib:${LD_LIBRARY_PATH}"
# JAVA_HOME is jdk
elif [[ -d "${JAVA_HOME}/jre" ]]; then
export LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/${jvm_arch}/server:${JAVA_HOME}/jre/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
# JAVA_HOME is jre
else
export LD_LIBRARY_PATH="${JAVA_HOME}/lib/${jvm_arch}/server:${JAVA_HOME}/lib/${jvm_arch}:${LD_LIBRARY_PATH}"
fi
}

# prepare jvm if needed
setup_java_env || true

# prepare gtest output dir
GTEST_OUTPUT_DIR="${CMAKE_BUILD_DIR}/gtest_output"
Expand Down
11 changes: 5 additions & 6 deletions tools/find_libjvm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
# under the License.

jdk_version() {
local java_cmd="${1}"
local result
local java_cmd="${JAVA_HOME:-.}/bin/java"
local IFS=$'\n'

if [[ -z "${java_cmd}" ]]; then
Expand All @@ -39,11 +39,10 @@ jdk_version() {
return 0
}

java_version=$(jdk_version)
MACHINE_TYPE=$(uname -m)
jvm_arch="amd64"
if [[ "${MACHINE_TYPE}" == "aarch64" ]]; then
jvm_arch="aarch64"
java_version=$(jdk_version "${JAVA_HOME:-}/bin/java")
jvm_arch='amd64'
if [[ "$(uname -m)" == 'aarch64' ]]; then
jvm_arch='aarch64'
fi
if [[ "${java_version}" -gt 8 ]]; then
export LIBJVM_PATH="${JAVA_HOME}/lib"
Expand Down

0 comments on commit e63c83e

Please sign in to comment.