From c9ac6b03e0ca84e516ec47dbdfcb962c903ce0b8 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Sun, 9 Aug 2020 14:23:08 +0000 Subject: [PATCH 01/16] set tag conditions limit --- src/inc/taosdef.h | 1 + src/query/src/qExecutor.c | 2 +- src/tsdb/src/tsdbRead.c | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/inc/taosdef.h b/src/inc/taosdef.h index f8b9d0ee79..b4cecec8e4 100644 --- a/src/inc/taosdef.h +++ b/src/inc/taosdef.h @@ -242,6 +242,7 @@ void tsDataSwap(void *pLeft, void *pRight, int32_t type, int32_t size); #define TSDB_MAX_BYTES_PER_ROW 16384 #define TSDB_MAX_TAGS_LEN 16384 #define TSDB_MAX_TAGS 128 +#define TSDB_MAX_TAG_CONDITIONS 1024 #define TSDB_AUTH_LEN 16 #define TSDB_KEY_LEN 16 diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index 34700a33f3..c208d61330 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -5547,7 +5547,7 @@ static int32_t buildAirthmeticExprFromMsg(SExprInfo *pArithExprInfo, SQueryTable qDebug("qmsg:%p create arithmetic expr from binary string: %s", pQueryMsg, pArithExprInfo->base.arg[0].argValue.pz); tExprNode* pExprNode = NULL; - TRY(TSDB_MAX_TAGS) { + TRY(TSDB_MAX_TAG_CONDITIONS) { pExprNode = exprTreeFromBinary(pArithExprInfo->base.arg[0].argValue.pz, pArithExprInfo->base.arg[0].argBytes); } CATCH( code ) { CLEANUP_EXECUTE(); diff --git a/src/tsdb/src/tsdbRead.c b/src/tsdb/src/tsdbRead.c index 98153efe3e..fe32a0e1aa 100644 --- a/src/tsdb/src/tsdbRead.c +++ b/src/tsdb/src/tsdbRead.c @@ -2373,7 +2373,7 @@ int32_t tsdbQuerySTableByTagCond(TSDB_REPO_T* tsdb, uint64_t uid, TSKEY skey, co int32_t ret = TSDB_CODE_SUCCESS; tExprNode* expr = NULL; - TRY(TSDB_MAX_TAGS) { + TRY(TSDB_MAX_TAG_CONDITIONS) { expr = exprTreeFromTableName(tbnameCond); if (expr == NULL) { expr = exprTreeFromBinary(pTagCond, len); @@ -2567,4 +2567,4 @@ static int tsdbCheckInfoCompar(const void* key1, const void* key2) { ASSERT(false); return 0; } -} \ No newline at end of file +} From c29cbddc1aff5d08e48b7a717ca3c34faeac07c5 Mon Sep 17 00:00:00 2001 From: yangzy Date: Wed, 12 Aug 2020 11:28:10 +0800 Subject: [PATCH 02/16] TD-1115 Fix --- .../jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java b/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java index 1cf024f30e..277f9a1ab0 100644 --- a/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java +++ b/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java @@ -158,9 +158,10 @@ public class TSDBStatement implements Statement { throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL)); } else if (resultSetPointer == TSDBConstants.JNI_NULL_POINTER) { // no result set is retrieved + this.connecter.freeResultSet(pSql);: res = false; } - this.connecter.freeResultSet(pSql); + return res; } From f790a124b1edfa93a5463cdba1a6dddaf382a7fb Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Wed, 12 Aug 2020 05:14:59 +0000 Subject: [PATCH 03/16] localtime func crash in windows --- src/kit/shell/src/shellEngine.c | 4 ++++ tests/tsim/src/simExe.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/kit/shell/src/shellEngine.c b/src/kit/shell/src/shellEngine.c index 2838dc5386..d765eb3ad7 100644 --- a/src/kit/shell/src/shellEngine.c +++ b/src/kit/shell/src/shellEngine.c @@ -379,6 +379,10 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) { } */ +#ifdef WINDOWS + if (tt < 0) tt = 0; +#endif + struct tm* ptm = localtime(&tt); size_t pos = strftime(buf, 32, "%Y-%m-%d %H:%M:%S", ptm); diff --git a/tests/tsim/src/simExe.c b/tests/tsim/src/simExe.c index 677cea54c2..50d1a9b5be 100644 --- a/tests/tsim/src/simExe.c +++ b/tests/tsim/src/simExe.c @@ -791,6 +791,10 @@ bool simExecuteNativeSqlCommand(SScript *script, char *rest, bool isSlow) { } */ +#ifdef WINDOWS + if (tt < 0) tt = 0; +#endif + tp = localtime(&tt); strftime(timeStr, 64, "%y-%m-%d %H:%M:%S", tp); sprintf(value, "%s.%03d", timeStr, From 37aa0504aa97e1407d80141860828c4f68ee3c40 Mon Sep 17 00:00:00 2001 From: gemini Date: Wed, 12 Aug 2020 16:02:25 +0800 Subject: [PATCH 04/16] fix TD-1115 --- .../main/java/com/taosdata/jdbc/TSDBStatement.java | 2 +- .../jdbc/src/test/java/TestAsyncTSDBSubscribe.java | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java b/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java index 1cf024f30e..777eef53d1 100644 --- a/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java +++ b/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBStatement.java @@ -158,9 +158,9 @@ public class TSDBStatement implements Statement { throw new SQLException(TSDBConstants.FixErrMsg(TSDBConstants.JNI_CONNECTION_NULL)); } else if (resultSetPointer == TSDBConstants.JNI_NULL_POINTER) { // no result set is retrieved + this.connecter.freeResultSet(pSql); res = false; } - this.connecter.freeResultSet(pSql); return res; } diff --git a/src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java b/src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java index 03a4761b91..6d4c6b1e94 100644 --- a/src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java +++ b/src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java @@ -42,12 +42,14 @@ public class TestAsyncTSDBSubscribe { long subscribId = 0; try { Class.forName("com.taosdata.jdbc.TSDBDriver"); + Properties properties = new Properties(); - properties.setProperty(TSDBDriver.PROPERTY_KEY_HOST, host); - properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8"); - properties.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8"); - properties.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8"); - properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8"); + properties.setProperty(TSDBDriver.PROPERTY_KEY_HOST, host); + properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8"); + properties.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8"); + properties.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8"); + properties.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8"); + connection = DriverManager.getConnection("jdbc:TAOS://" + host + ":0/" + dbName + "?user=root&password=taosdata", properties); String rawSql = "select * from " + tName + ";"; TSDBSubscribe subscribe = ((TSDBConnection) connection).createSubscribe(); From d63c90b5a38a8329ab91c792355c82197cd14b30 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Wed, 12 Aug 2020 08:28:16 +0000 Subject: [PATCH 05/16] record log error, while fqdn too long --- src/plugins/monitor/src/monitorMain.c | 2 +- src/util/src/version.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/monitor/src/monitorMain.c b/src/plugins/monitor/src/monitorMain.c index 32f5966e2d..55c242763b 100644 --- a/src/plugins/monitor/src/monitorMain.c +++ b/src/plugins/monitor/src/monitorMain.c @@ -35,7 +35,7 @@ #define SQL_LENGTH 1024 #define LOG_LEN_STR 100 -#define IP_LEN_STR 18 +#define IP_LEN_STR TSDB_EP_LEN #define CHECK_INTERVAL 1000 typedef enum { diff --git a/src/util/src/version.c b/src/util/src/version.c index d12c2f339e..d541b1afd3 100644 --- a/src/util/src/version.c +++ b/src/util/src/version.c @@ -1,7 +1,7 @@ -char version[12] = "2.0.0.0"; +char version[12] = "2.0.0.6"; char compatible_version[12] = "2.0.0.0"; -char gitinfo[48] = "8df8b7d9930342dd34ba13df160a7d538fad7bc7"; -char gitinfoOfInternal[48] = "bad4f040145fba581d1ab0c5dd718a5ede3e209f"; -char buildinfo[64] = "Built by root at 2020-08-03 17:23"; +char gitinfo[48] = "e9a20fafbe9e3b0b12cbdf55604163b4b9a41b41"; +char gitinfoOfInternal[48] = "dd679db0b9edeedad68574c1e031544711a9831f"; +char buildinfo[64] = "Built by at 2020-08-12 07:59"; -void libtaos_2_0_0_0_Linux_x64() {}; +void libtaos_2_0_0_6_Linux_x64() {}; From 819ceda31f09502236b0a20801bb3df02ada9258 Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Wed, 12 Aug 2020 22:45:10 +0800 Subject: [PATCH 06/16] update client test case --- tests/pytest/client/client.py | 8 +------ tests/pytest/client/version.py | 41 ++++++++++++++++++++++++++++++++++ tests/pytest/fulltest.sh | 1 + tests/pytest/regressiontest.sh | 1 + 4 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 tests/pytest/client/version.py diff --git a/tests/pytest/client/client.py b/tests/pytest/client/client.py index 6fd2a2b6bd..b40511094b 100644 --- a/tests/pytest/client/client.py +++ b/tests/pytest/client/client.py @@ -27,13 +27,7 @@ class TDTestCase: ret = tdSql.query('select database()') tdSql.checkData(0, 0, "db") - - ret = tdSql.query('select server_version()') - tdSql.checkData(0, 0, "2.0.0.0") - - ret = tdSql.query('select client_version()') - tdSql.checkData(0, 0, "2.0.0.0") - + ret = tdSql.query('select server_status()') tdSql.checkData(0, 0, 1) diff --git a/tests/pytest/client/version.py b/tests/pytest/client/version.py new file mode 100644 index 0000000000..bc2e58f106 --- /dev/null +++ b/tests/pytest/client/version.py @@ -0,0 +1,41 @@ +################################################################### +# Copyright (c) 2016 by TAOS Technologies, Inc. +# All rights reserved. +# +# This file is proprietary and confidential to TAOS Technologies. +# No part of this file may be reproduced, stored, transmitted, +# disclosed or used in any form or by any means other than as +# expressly provided by the written permission from Jianhui Tao +# +################################################################### + +# -*- coding: utf-8 -*- + +import sys +from util.log import * +from util.cases import * +from util.sql import * + + +class TDTestCase: + def init(self, conn, logSql): + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor(), logSql) + + def run(self): + tdSql.prepare() + + ret = tdSql.query('select server_version()') + tdSql.checkData(0, 0, "2.0.0.6") + + ret = tdSql.query('select client_version()') + tdSql.checkData(0, 0, "2.0.0.6") + + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase()) diff --git a/tests/pytest/fulltest.sh b/tests/pytest/fulltest.sh index cbe82b2c8c..8e0f6314e0 100755 --- a/tests/pytest/fulltest.sh +++ b/tests/pytest/fulltest.sh @@ -158,6 +158,7 @@ python3 ./test.py -f alter/alter_table_crash.py # client python3 ./test.py -f client/client.py +python3 ./test.py -f client/version.py # Misc python3 testCompress.py diff --git a/tests/pytest/regressiontest.sh b/tests/pytest/regressiontest.sh index 61ec491f5d..20f4b4dc3b 100755 --- a/tests/pytest/regressiontest.sh +++ b/tests/pytest/regressiontest.sh @@ -152,6 +152,7 @@ python3 ./test.py -f alter/alter_table_crash.py # client python3 ./test.py -f client/client.py +python3 ./test.py -f client/version.py # Misc python3 testCompress.py From 29c5d7773a4cede0c29499be26665f019851b7e6 Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 09:31:46 +0800 Subject: [PATCH 07/16] [add link for libtaos.so to /usr/lib64] --- packaging/release.sh | 50 ++++++++++++++++++++----------- packaging/tools/install.sh | 6 ++-- packaging/tools/install_client.sh | 9 ++++-- packaging/tools/make_install.sh | 7 +++++ 4 files changed, 50 insertions(+), 22 deletions(-) diff --git a/packaging/release.sh b/packaging/release.sh index 7a585431a2..8a4b473a4b 100755 --- a/packaging/release.sh +++ b/packaging/release.sh @@ -10,6 +10,7 @@ set -e # -o [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | ...] # -V [stable | beta] # -l [full | lite] +# -n [2.0.0.3] # set parameters by default value verMode=edge # [cluster, edge] @@ -17,8 +18,9 @@ verType=stable # [stable, beta] cpuType=x64 # [aarch32 | aarch64 | x64 | x86 | mips64 ...] osType=Linux # [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | ...] pagMode=full # [full | lite] +verNumber="" -while getopts "hv:V:c:o:l:" arg +while getopts "hv:V:c:o:l:n:" arg do case $arg in v) @@ -37,12 +39,16 @@ do #echo "pagMode=$OPTARG" pagMode=$(echo $OPTARG) ;; + n) + #echo "verNumber=$OPTARG" + verNumber=$(echo $OPTARG) + ;; o) #echo "osType=$OPTARG" osType=$(echo $OPTARG) ;; h) - echo "Usage: `basename $0` -v [cluster | edge] -c [aarch32 | aarch64 | x64 | x86 | mips64 ...] -o [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | ...] -V [stable | beta] -l [full | lite]" + echo "Usage: `basename $0` -v [cluster | edge] -c [aarch32 | aarch64 | x64 | x86 | mips64 ...] -o [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | ...] -V [stable | beta] -l [full | lite] -n [version number]" exit 0 ;; ?) #unknow option @@ -52,7 +58,7 @@ do esac done -echo "verMode=${verMode} verType=${verType} cpuType=${cpuType} osType=${osType} pagMode=${pagMode}" +echo "verMode=${verMode} verType=${verType} cpuType=${cpuType} osType=${osType} pagMode=${pagMode} verNumber=${verNumber}" curr_dir=$(pwd) @@ -80,7 +86,6 @@ function is_valid_version() { if [[ $1 =~ $rx ]]; then return 0 fi - return 1 } @@ -89,26 +94,25 @@ function vercomp () { echo 0 exit 0 fi + local IFS=. local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do ver1[i]=0 done for ((i=0; i<${#ver1[@]}; i++)); do - if [[ -z ${ver2[i]} ]] - then + if [[ -z ${ver2[i]} ]]; then # fill empty fields in ver2 with zeros ver2[i]=0 fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then + if ((10#${ver1[i]} > 10#${ver2[i]})); then echo 1 exit 0 fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then + if ((10#${ver1[i]} < 10#${ver2[i]})); then echo 2 exit 0 fi @@ -120,10 +124,11 @@ function vercomp () { version=$(cat ${versioninfo} | grep " version" | cut -d '"' -f2) compatible_version=$(cat ${versioninfo} | grep " compatible_version" | cut -d '"' -f2) -while true; do - read -p "Do you want to release a new version? [y/N]: " is_version_change +if [ -z ${verNumber} ]; then + while true; do + read -p "Do you want to release a new version? [y/N]: " is_version_change - if [[ ( "${is_version_change}" == "y") || ( "${is_version_change}" == "Y") ]]; then + if [[ ( "${is_version_change}" == "y") || ( "${is_version_change}" == "Y") ]]; then read -p "Please enter the new version: " tversion while true; do if (! is_valid_version $tversion) || [ "$(vercomp $tversion $version)" = '2' ]; then @@ -152,13 +157,24 @@ while true; do done break - elif [[ ( "${is_version_change}" == "n") || ( "${is_version_change}" == "N") ]]; then + elif [[ ( "${is_version_change}" == "n") || ( "${is_version_change}" == "N") ]]; then echo "Use old version: ${version} compatible version: ${compatible_version}." break - else + else continue - fi -done + fi + done +else + echo "old version: $version, new version: $verNumber" + #if ( ! is_valid_version $verNumber ) || [[ "$(vercomp $version $verNumber)" == '2' ]]; then + # echo "please enter correct version" + # exit 0 + #else + version=${verNumber} + #fi +fi + +echo "=======================new version number: ${version}======================================" # output the version info to the buildinfo file. build_time=$(date +"%F %R") diff --git a/packaging/tools/install.sh b/packaging/tools/install.sh index 0700ed4682..70c8f83923 100644 --- a/packaging/tools/install.sh +++ b/packaging/tools/install.sh @@ -196,8 +196,10 @@ function install_lib() { ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 ${csudo} ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo} ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : + if [ -d ${lib64_link_dir} ]; then + ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : + ${csudo} ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : + fi #if [ "$verMode" == "cluster" ]; then # # Compatible with version 1.5 diff --git a/packaging/tools/install_client.sh b/packaging/tools/install_client.sh index 0ec8dbd0cc..396b4a80a7 100755 --- a/packaging/tools/install_client.sh +++ b/packaging/tools/install_client.sh @@ -91,7 +91,7 @@ function install_bin() { ${csudo} cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo} chmod 0555 ${install_main_dir}/bin/* - #Make link + #Make link [ -x ${install_main_dir}/bin/taos ] && ${csudo} ln -s ${install_main_dir}/bin/taos ${bin_link_dir}/taos || : if [ "$osType" == "Darwin" ]; then [ -x ${install_main_dir}/bin/taosdump ] && ${csudo} ln -s ${install_main_dir}/bin/taosdump ${bin_link_dir}/taosdump || : @@ -115,8 +115,11 @@ function install_lib() { if [ "$osType" != "Darwin" ]; then ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 ${csudo} ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo} ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : + + if [ -d "${lib64_link_dir}" ]; then + ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : + ${csudo} ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : + fi else ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib ${csudo} ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib diff --git a/packaging/tools/make_install.sh b/packaging/tools/make_install.sh index 2200c7f13d..8324b3b25a 100755 --- a/packaging/tools/make_install.sh +++ b/packaging/tools/make_install.sh @@ -34,6 +34,7 @@ cfg_install_dir="/etc/taos" if [ "$osType" != "Darwin" ]; then bin_link_dir="/usr/bin" lib_link_dir="/usr/lib" + lib64_link_dir="/usr/lib64" inc_link_dir="/usr/include" else bin_link_dir="/usr/local/bin" @@ -173,12 +174,18 @@ function install_bin() { function install_lib() { # Remove links ${csudo} rm -f ${lib_link_dir}/libtaos.* || : + ${csudo} rm -f ${lib64_link_dir}/libtaos.* || : versioninfo=$(${script_dir}/get_version.sh ${source_dir}/src/util/src/version.c) if [ "$osType" != "Darwin" ]; then ${csudo} cp ${binary_dir}/build/lib/libtaos.so.${versioninfo} ${install_main_dir}/driver && ${csudo} chmod 777 ${install_main_dir}/driver/* ${csudo} ln -sf ${install_main_dir}/driver/libtaos.so.${versioninfo} ${lib_link_dir}/libtaos.so.1 ${csudo} ln -sf ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so + + if [ -d "${lib64_link_dir}" ]; then + ${csudo} ln -sf ${install_main_dir}/driver/libtaos.so.${versioninfo} ${lib64_link_dir}/libtaos.so.1 + ${csudo} ln -sf ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so + fi else ${csudo} cp ${binary_dir}/build/lib/libtaos.${versioninfo}.dylib ${install_main_dir}/driver && ${csudo} chmod 777 ${install_main_dir}/driver/* ${csudo} ln -sf ${install_main_dir}/driver/libtaos.${versioninfo}.dylib ${lib_link_dir}/libtaos.1.dylib From 9ef11679bd958df6d293c57a203a489f48523b0a Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 11:18:55 +0800 Subject: [PATCH 08/16] [TD-1121] --- packaging/tools/install.sh | 2 ++ packaging/tools/install_client.sh | 10 ++++++---- packaging/tools/make_install.sh | 3 +++ packaging/tools/makeclient.sh | 2 +- packaging/tools/makepkg.sh | 2 +- packaging/tools/post.sh | 3 ++- packaging/tools/preun.sh | 7 +++++-- 7 files changed, 20 insertions(+), 9 deletions(-) diff --git a/packaging/tools/install.sh b/packaging/tools/install.sh index 70c8f83923..728f40aff1 100644 --- a/packaging/tools/install.sh +++ b/packaging/tools/install.sh @@ -168,6 +168,7 @@ function install_bin() { ${csudo} rm -f ${bin_link_dir}/taosdemo || : ${csudo} rm -f ${bin_link_dir}/rmtaos || : ${csudo} rm -f ${bin_link_dir}/tarbitrator || : + ${csudo} rm -f ${bin_link_dir}/set_core || : ${csudo} cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo} chmod 0555 ${install_main_dir}/bin/* @@ -176,6 +177,7 @@ function install_bin() { [ -x ${install_main_dir}/bin/taosd ] && ${csudo} ln -s ${install_main_dir}/bin/taosd ${bin_link_dir}/taosd || : [ -x ${install_main_dir}/bin/taosdemo ] && ${csudo} ln -s ${install_main_dir}/bin/taosdemo ${bin_link_dir}/taosdemo || : [ -x ${install_main_dir}/bin/remove.sh ] && ${csudo} ln -s ${install_main_dir}/bin/remove.sh ${bin_link_dir}/rmtaos || : + [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo} ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo} ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : if [ "$verMode" == "cluster" ]; then diff --git a/packaging/tools/install_client.sh b/packaging/tools/install_client.sh index 396b4a80a7..81e20fcbfb 100755 --- a/packaging/tools/install_client.sh +++ b/packaging/tools/install_client.sh @@ -88,15 +88,17 @@ function install_bin() { ${csudo} rm -f ${bin_link_dir}/taosdump || : fi ${csudo} rm -f ${bin_link_dir}/rmtaos || : + ${csudo} rm -f ${bin_link_dir}/set_core || : ${csudo} cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo} chmod 0555 ${install_main_dir}/bin/* - #Make link + #Make link [ -x ${install_main_dir}/bin/taos ] && ${csudo} ln -s ${install_main_dir}/bin/taos ${bin_link_dir}/taos || : if [ "$osType" == "Darwin" ]; then [ -x ${install_main_dir}/bin/taosdump ] && ${csudo} ln -s ${install_main_dir}/bin/taosdump ${bin_link_dir}/taosdump || : fi [ -x ${install_main_dir}/bin/remove_client.sh ] && ${csudo} ln -s ${install_main_dir}/bin/remove_client.sh ${bin_link_dir}/rmtaos || : + [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo} ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : } function clean_lib() { @@ -117,9 +119,9 @@ function install_lib() { ${csudo} ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so if [ -d "${lib64_link_dir}" ]; then - ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo} ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi + ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : + ${csudo} ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : + fi else ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib ${csudo} ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib diff --git a/packaging/tools/make_install.sh b/packaging/tools/make_install.sh index 8324b3b25a..9af153d3d2 100755 --- a/packaging/tools/make_install.sh +++ b/packaging/tools/make_install.sh @@ -142,6 +142,7 @@ function install_bin() { ${csudo} rm -f ${bin_link_dir}/taosd || : ${csudo} rm -f ${bin_link_dir}/taosdemo || : ${csudo} rm -f ${bin_link_dir}/taosdump || : + ${csudo} rm -f ${bin_link_dir}/set_core || : fi ${csudo} rm -f ${bin_link_dir}/rmtaos || : @@ -150,6 +151,7 @@ function install_bin() { if [ "$osType" != "Darwin" ]; then ${csudo} cp -r ${script_dir}/remove.sh ${install_main_dir}/bin + ${csudo} cp -r ${script_dir}/set_core.sh ${install_main_dir}/bin else ${csudo} cp -r ${script_dir}/remove_client.sh ${install_main_dir}/bin fi @@ -162,6 +164,7 @@ function install_bin() { [ -x ${install_main_dir}/bin/taosd ] && ${csudo} ln -s ${install_main_dir}/bin/taosd ${bin_link_dir}/taosd || : [ -x ${install_main_dir}/bin/taosdump ] && ${csudo} ln -s ${install_main_dir}/bin/taosdump ${bin_link_dir}/taosdump || : [ -x ${install_main_dir}/bin/taosdemo ] && ${csudo} ln -s ${install_main_dir}/bin/taosdemo ${bin_link_dir}/taosdemo || : + [ -x ${install_main_dir}/set_core.sh ] && ${csudo} ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : fi if [ "$osType" != "Darwin" ]; then diff --git a/packaging/tools/makeclient.sh b/packaging/tools/makeclient.sh index 6120f9fcc2..855d0b9c27 100755 --- a/packaging/tools/makeclient.sh +++ b/packaging/tools/makeclient.sh @@ -45,7 +45,7 @@ if [ "$osType" != "Darwin" ]; then strip ${build_dir}/bin/taos bin_files="${build_dir}/bin/taos ${script_dir}/remove_client.sh" else - bin_files="${build_dir}/bin/taos ${build_dir}/bin/taosdump ${script_dir}/remove_client.sh" + bin_files="${build_dir}/bin/taos ${build_dir}/bin/taosdump ${script_dir}/remove_client.sh ${script_dir}/set_core.sh" fi lib_files="${build_dir}/lib/libtaos.so.${version}" else diff --git a/packaging/tools/makepkg.sh b/packaging/tools/makepkg.sh index 1d65dd8069..6a1a282e01 100755 --- a/packaging/tools/makepkg.sh +++ b/packaging/tools/makepkg.sh @@ -36,7 +36,7 @@ if [ "$pagMode" == "lite" ]; then strip ${build_dir}/bin/taos bin_files="${build_dir}/bin/taosd ${build_dir}/bin/taos ${script_dir}/remove.sh" else - bin_files="${build_dir}/bin/taosd ${build_dir}/bin/taos ${build_dir}/bin/taosdemo ${build_dir}/bin/tarbitrator ${script_dir}/remove.sh" + bin_files="${build_dir}/bin/taosd ${build_dir}/bin/taos ${build_dir}/bin/taosdemo ${build_dir}/bin/tarbitrator ${script_dir}/remove.sh ${script_dir}/set_core.sh.sh" fi lib_files="${build_dir}/lib/libtaos.so.${version}" diff --git a/packaging/tools/post.sh b/packaging/tools/post.sh index e9a742e632..0feb64c795 100755 --- a/packaging/tools/post.sh +++ b/packaging/tools/post.sh @@ -90,6 +90,7 @@ function install_bin() { ${csudo} rm -f ${bin_link_dir}/taosd || : ${csudo} rm -f ${bin_link_dir}/taosdemo || : ${csudo} rm -f ${bin_link_dir}/rmtaos || : + ${csudo} rm -f ${bin_link_dir}/set_core || : ${csudo} chmod 0555 ${bin_dir}/* @@ -97,7 +98,7 @@ function install_bin() { [ -x ${bin_dir}/taos ] && ${csudo} ln -s ${bin_dir}/taos ${bin_link_dir}/taos || : [ -x ${bin_dir}/taosd ] && ${csudo} ln -s ${bin_dir}/taosd ${bin_link_dir}/taosd || : [ -x ${bin_dir}/taosdemo ] && ${csudo} ln -s ${bin_dir}/taosdemo ${bin_link_dir}/taosdemo || : -# [ -x ${bin_dir}/remove.sh ] && ${csudo} ln -s ${bin_dir}/remove.sh ${bin_link_dir}/rmtaos || : + [ -x ${bin_dir}/set_core.sh ] && ${csudo} ln -s ${bin_dir}/set_core.sh ${bin_link_dir}/set_core || : } function install_config() { diff --git a/packaging/tools/preun.sh b/packaging/tools/preun.sh index 0533410802..07b43c0e49 100755 --- a/packaging/tools/preun.sh +++ b/packaging/tools/preun.sh @@ -8,6 +8,7 @@ NC='\033[0m' bin_link_dir="/usr/bin" lib_link_dir="/usr/lib" +lib64_link_dir="/usr/lib64" inc_link_dir="/usr/include" data_link_dir="/usr/local/taos/data" @@ -104,10 +105,12 @@ ${csudo} rm -f ${bin_link_dir}/taos || : ${csudo} rm -f ${bin_link_dir}/taosd || : ${csudo} rm -f ${bin_link_dir}/taosdemo || : ${csudo} rm -f ${bin_link_dir}/taosdump || : +${csudo} rm -f ${bin_link_dir}/set_core || : ${csudo} rm -f ${cfg_link_dir}/* || : ${csudo} rm -f ${inc_link_dir}/taos.h || : -${csudo} rm -f ${inc_link_dir}/taoserror.h || : -${csudo} rm -f ${lib_link_dir}/libtaos.* || : +${csudo} rm -f ${inc_link_dir}/taoserror.h || : +${csudo} rm -f ${lib_link_dir}/libtaos.* || : +${csudo} rm -f ${lib64_link_dir}/libtaos.* || : ${csudo} rm -f ${log_link_dir} || : ${csudo} rm -f ${data_link_dir} || : From a5d1e97058abc5dfa669a58caf15249a21f35f49 Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 11:19:10 +0800 Subject: [PATCH 09/16] [TD-1121] --- packaging/tools/set_core.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 packaging/tools/set_core.sh diff --git a/packaging/tools/set_core.sh b/packaging/tools/set_core.sh new file mode 100644 index 0000000000..7586d531d1 --- /dev/null +++ b/packaging/tools/set_core.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# This file is used to set config for core when taosd crash + +set -e +# set -x + +csudo="" +if command -v sudo > /dev/null; then + csudo="sudo" +fi + +#ulimit -c unlimited +${csudo} echo "ulimit -c unlimited" >> /etc/profile +source /etc/profile + +${csudo} mkdir -p /coredump +${csudo} sysctl -w kernel.core_pattern='/coredump/core-%e-%p' +${csudo} echo '/coredump/core-%e-%p' | ${csudo} tee /proc/sys/kernel/core_pattern From 0f8072dde5d2260274927e208d609fef52675cd4 Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 11:25:56 +0800 Subject: [PATCH 10/16] [TD-1121] --- packaging/release.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packaging/release.sh b/packaging/release.sh index 8a4b473a4b..2302b45875 100755 --- a/packaging/release.sh +++ b/packaging/release.sh @@ -48,7 +48,12 @@ do osType=$(echo $OPTARG) ;; h) - echo "Usage: `basename $0` -v [cluster | edge] -c [aarch32 | aarch64 | x64 | x86 | mips64 ...] -o [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | ...] -V [stable | beta] -l [full | lite] -n [version number]" + echo "Usage: `basename $0` -v [cluster | edge] " + echo " -c [aarch32 | aarch64 | x64 | x86 | mips64 ...] " + echo " -o [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | ...] " + echo " -V [stable | beta] " + echo " -l [full | lite] " + echo " -n [version number] " exit 0 ;; ?) #unknow option From fe6c8d6d999f2182775cbb37bc7e9da0973500ba Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Thu, 13 Aug 2020 12:13:02 +0800 Subject: [PATCH 11/16] add cii best practice badge. [TECO-5] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 41629d6df3..2d84389f78 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ [![Build Status](https://travis-ci.org/taosdata/TDengine.svg?branch=master)](https://travis-ci.org/taosdata/TDengine) [![Build status](https://ci.appveyor.com/api/projects/status/kf3pwh2or5afsgl9/branch/master?svg=true)](https://ci.appveyor.com/project/sangshuduo/tdengine-2n8ge/branch/master) [![Coverage Status](https://coveralls.io/repos/github/taosdata/TDengine/badge.svg?branch=develop)](https://coveralls.io/github/taosdata/TDengine?branch=develop) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4201/badge)](https://bestpractices.coreinfrastructure.org/projects/4201) [![TDengine](TDenginelogo.png)](https://www.taosdata.com) From 69fd77276637d8a2b88ea6d9bda45181ee425863 Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 13:26:28 +0800 Subject: [PATCH 12/16] [TD-1134] --- src/common/src/tglobal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/src/tglobal.c b/src/common/src/tglobal.c index 0d7df38b83..c11b2667e6 100644 --- a/src/common/src/tglobal.c +++ b/src/common/src/tglobal.c @@ -54,7 +54,7 @@ int8_t tsDaylight = 0; char tsTimezone[TSDB_TIMEZONE_LEN] = {0}; char tsLocale[TSDB_LOCALE_LEN] = {0}; char tsCharset[TSDB_LOCALE_LEN] = {0}; // default encode string -int32_t tsEnableCoreFile = 0; +int32_t tsEnableCoreFile = 1; int32_t tsMaxBinaryDisplayWidth = 30; /* From d7bf44a03b25ee6032f52a9c465774e36e6f062c Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 13:57:39 +0800 Subject: [PATCH 13/16] [fix bug] --- packaging/tools/makepkg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/tools/makepkg.sh b/packaging/tools/makepkg.sh index 6a1a282e01..16e0354dcf 100755 --- a/packaging/tools/makepkg.sh +++ b/packaging/tools/makepkg.sh @@ -36,7 +36,7 @@ if [ "$pagMode" == "lite" ]; then strip ${build_dir}/bin/taos bin_files="${build_dir}/bin/taosd ${build_dir}/bin/taos ${script_dir}/remove.sh" else - bin_files="${build_dir}/bin/taosd ${build_dir}/bin/taos ${build_dir}/bin/taosdemo ${build_dir}/bin/tarbitrator ${script_dir}/remove.sh ${script_dir}/set_core.sh.sh" + bin_files="${build_dir}/bin/taosd ${build_dir}/bin/taos ${build_dir}/bin/taosdemo ${build_dir}/bin/tarbitrator ${script_dir}/remove.sh ${script_dir}/set_core.sh" fi lib_files="${build_dir}/lib/libtaos.so.${version}" From faf2f73f947e642cb388cf253600057931f0547e Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 14:41:49 +0800 Subject: [PATCH 14/16] [add ldconfig] --- packaging/tools/install.sh | 2 ++ packaging/tools/install_client.sh | 2 ++ packaging/tools/make_install.sh | 2 ++ 3 files changed, 6 insertions(+) diff --git a/packaging/tools/install.sh b/packaging/tools/install.sh index 728f40aff1..f27595a356 100644 --- a/packaging/tools/install.sh +++ b/packaging/tools/install.sh @@ -209,6 +209,8 @@ function install_lib() { # ${csudo} ln -s ${install_main_dir}/connector/taos-jdbcdriver-1.0.2-dist.jar ${v15_java_app_dir}/JDBCDriver-1.0.2-dist.jar # ${csudo} chmod 777 ${v15_java_app_dir} || : #fi + + ${csudo} ldconfig } function install_header() { diff --git a/packaging/tools/install_client.sh b/packaging/tools/install_client.sh index 81e20fcbfb..6a1b7be191 100755 --- a/packaging/tools/install_client.sh +++ b/packaging/tools/install_client.sh @@ -126,6 +126,8 @@ function install_lib() { ${csudo} ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib ${csudo} ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib fi + + ${csudo} ldconfig } function install_header() { diff --git a/packaging/tools/make_install.sh b/packaging/tools/make_install.sh index 9af153d3d2..1a5c4d75b5 100755 --- a/packaging/tools/make_install.sh +++ b/packaging/tools/make_install.sh @@ -194,6 +194,8 @@ function install_lib() { ${csudo} ln -sf ${install_main_dir}/driver/libtaos.${versioninfo}.dylib ${lib_link_dir}/libtaos.1.dylib ${csudo} ln -sf ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib fi + + ${csudo} ldconfig } function install_header() { From b36c9b1bdc3aa2993b340c48444b39b53743ba4f Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 14:47:18 +0800 Subject: [PATCH 15/16] [fix bug] --- packaging/tools/set_core.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 packaging/tools/set_core.sh diff --git a/packaging/tools/set_core.sh b/packaging/tools/set_core.sh old mode 100644 new mode 100755 index 7586d531d1..05404d7a64 --- a/packaging/tools/set_core.sh +++ b/packaging/tools/set_core.sh @@ -11,7 +11,9 @@ if command -v sudo > /dev/null; then fi #ulimit -c unlimited -${csudo} echo "ulimit -c unlimited" >> /etc/profile +${csudo} sed -i '/ulimit -c unlimited/d' /etc/profile +${csudo} sed -i '$a\ulimit -c unlimited' /etc/profile +#${csudo} echo "ulimit -c unlimited" >> /etc/profile source /etc/profile ${csudo} mkdir -p /coredump From 88a1e6b16e9174ceccc2568ea9d6bc4fff1bbeae Mon Sep 17 00:00:00 2001 From: Hui Li Date: Thu, 13 Aug 2020 14:49:32 +0800 Subject: [PATCH 16/16] [fix bug] --- packaging/tools/set_core.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packaging/tools/set_core.sh b/packaging/tools/set_core.sh index 05404d7a64..083b0516db 100755 --- a/packaging/tools/set_core.sh +++ b/packaging/tools/set_core.sh @@ -11,11 +11,10 @@ if command -v sudo > /dev/null; then fi #ulimit -c unlimited -${csudo} sed -i '/ulimit -c unlimited/d' /etc/profile -${csudo} sed -i '$a\ulimit -c unlimited' /etc/profile -#${csudo} echo "ulimit -c unlimited" >> /etc/profile +${csudo} sed -i '/ulimit -c unlimited/d' /etc/profile ||: +${csudo} sed -i '$a\ulimit -c unlimited' /etc/profile ||: source /etc/profile -${csudo} mkdir -p /coredump -${csudo} sysctl -w kernel.core_pattern='/coredump/core-%e-%p' -${csudo} echo '/coredump/core-%e-%p' | ${csudo} tee /proc/sys/kernel/core_pattern +${csudo} mkdir -p /coredump ||: +${csudo} sysctl -w kernel.core_pattern='/coredump/core-%e-%p' ||: +${csudo} echo '/coredump/core-%e-%p' | ${csudo} tee /proc/sys/kernel/core_pattern ||: