From 3da8055c2d78d87c4b4a92b06174ddab061b6025 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Wed, 7 Jul 2021 16:04:08 +0800 Subject: [PATCH] Feature/sangshuduo/td 3973 use jemalloc (#6784) * [TD-3973]: add jemalloc as submodule. * add macro definitions in cmake. * [TD-3973]: use jemalloc. build works as following instructions: cmake .. -DJEMALLOC_ENABLED=true make * fix jemalloc at tag 5.2.1 * link jemalloc works. * make install works. * support jemalloc in release.sh. * release script works. * fix a typo. * [TD-3937]: support jemalloc add install funtion to all scripts. * adjust install_jemalloc() position for update check compatiblity. * fix position bug. * add ldconfig for jemalloc library cache refresh. * add /etc/ld.so.conf.d/jemalloc.conf for centos Co-authored-by: Shuduo Sang --- packaging/tools/install.sh | 9 +++++++-- packaging/tools/install_arbi.sh | 8 +++++++- packaging/tools/install_arbi_power.sh | 8 +++++++- packaging/tools/install_client_power.sh | 10 ++++++++-- packaging/tools/install_power.sh | 9 +++++++-- packaging/tools/install_tq.sh | 9 +++++++-- packaging/tools/make_install.sh | 8 +++++++- 7 files changed, 50 insertions(+), 11 deletions(-) diff --git a/packaging/tools/install.sh b/packaging/tools/install.sh index 16a99d7a0c..c8970ed821 100755 --- a/packaging/tools/install.sh +++ b/packaging/tools/install.sh @@ -270,7 +270,13 @@ function install_jemalloc() { ${csudo} /usr/bin/install -c -d /usr/local/share/man/man3 ${csudo} /usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } @@ -784,7 +790,6 @@ function update_TDengine() { echo "File taos.tar.gz does not exist" exit 1 fi - install_jemalloc tar -zxf taos.tar.gz install_jemalloc diff --git a/packaging/tools/install_arbi.sh b/packaging/tools/install_arbi.sh index 74a7d8cd3d..3a5e641538 100755 --- a/packaging/tools/install_arbi.sh +++ b/packaging/tools/install_arbi.sh @@ -165,7 +165,13 @@ function install_jemalloc() { ${csudo} /usr/bin/install -c -d /usr/local/share/man/man3 ${csudo} /usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } diff --git a/packaging/tools/install_arbi_power.sh b/packaging/tools/install_arbi_power.sh index 864fbb9844..883db2b716 100755 --- a/packaging/tools/install_arbi_power.sh +++ b/packaging/tools/install_arbi_power.sh @@ -158,7 +158,13 @@ function install_jemalloc() { ${csudo} /usr/bin/install -c -d /usr/local/share/man/man3 ${csudo} /usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } diff --git a/packaging/tools/install_client_power.sh b/packaging/tools/install_client_power.sh index bb9be2493b..31da0d6131 100755 --- a/packaging/tools/install_client_power.sh +++ b/packaging/tools/install_client_power.sh @@ -182,7 +182,13 @@ function install_jemalloc() { ${csudo} /usr/bin/install -c -d /usr/local/share/man/man3 ${csudo} /usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } @@ -228,6 +234,7 @@ function update_PowerDB() { exit 1 fi tar -zxf power.tar.gz + install_jemalloc echo -e "${GREEN}Start to update PowerDB client...${NC}" # Stop the client shell if running @@ -241,7 +248,6 @@ function update_PowerDB() { install_log install_header install_lib - install_jemalloc if [ "$pagMode" != "lite" ]; then install_connector fi diff --git a/packaging/tools/install_power.sh b/packaging/tools/install_power.sh index bf4b1244ad..b73b0b70c0 100755 --- a/packaging/tools/install_power.sh +++ b/packaging/tools/install_power.sh @@ -263,7 +263,13 @@ function install_jemalloc() { ${csudo} /usr/bin/install -c -d /usr/local/share/man/man3 ${csudo} /usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } @@ -753,7 +759,6 @@ function update_PowerDB() { echo "File power.tar.gz does not exist" exit 1 fi - install_jemalloc tar -zxf power.tar.gz install_jemalloc diff --git a/packaging/tools/install_tq.sh b/packaging/tools/install_tq.sh index 7d4e374827..4bdb39838a 100755 --- a/packaging/tools/install_tq.sh +++ b/packaging/tools/install_tq.sh @@ -270,7 +270,13 @@ function install_jemalloc() { ${csudo} /usr/bin/install -c -d /usr/local/share/man/man3 ${csudo} /usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } @@ -753,7 +759,6 @@ function update_tq() { echo "File tq.tar.gz does not exist" exit 1 fi - install_jemalloc tar -zxf tq.tar.gz install_jemalloc diff --git a/packaging/tools/make_install.sh b/packaging/tools/make_install.sh index b1d56092c2..2b631caa69 100755 --- a/packaging/tools/make_install.sh +++ b/packaging/tools/make_install.sh @@ -218,7 +218,13 @@ function install_jemalloc() { /usr/bin/install -c -d /usr/local/share/man/man3 /usr/bin/install -c -m 644 ${binary_dir}/build/share/man/man3/jemalloc.3 /usr/local/share/man/man3 fi - ${csudo} ldconfig + + if [ -d /etc/ld.so.conf.d ]; then + ${csudo} echo "/usr/local/lib" > /etc/ld.so.conf.d/jemalloc.conf + ${csudo} ldconfig + else + echo "/etc/ld.so.conf.d not found!" + fi fi } -- GitLab