Skip to content

Commit 7db4636

Browse files
wgs13579wangzelin19961202
authored andcommitted
Feature:
1. Support public cloud shared proxy connection number resource isolation 2. Support public cloud shared proxy tenant level whitelist 3. Support shared proxy cluster configuration push 4. Support hot restart 5. Supports partition routing for Timestmp data types 6. Support client-side Execute optimization, allow without Param Type 7. Proxyd.sh supports port modification, rslist startup, and configurl startup 8. PS memory optimization 9. 16C model performance optimization 10. When accessing the cluster for the first time, after OBProxy obtains the RSList from the ConfigServer, the All Server List is obtained asynchronously and adjusted to obtain it synchronously 11. Log compression can be turned on with enable_syslog_file_compress=True 12. Full username strict mode can be enabled by enable_full_username=True 13. You can increase the SQL length of obproxy_digest.log by setting the digest_sql_length parameter 14. Added support for partition routing for timestamp type and negative numbers 15. Added support for DDL statements in sharding scenarios 16. Added tenant-level SSL link encryption 17. Supports splicing URLs by zone 18. OB Sharding supports Join Bugfix: 1. Fix the problem that the new password under the newly deployed cluster etc is inconsistent with the old password 2. Fix ODP unable to handle configurations larger than 4K, currently there is no limit to configuration size 3. Fix the cluster without LDG. After the enable_ldg switch is turned on, the proxy stops updating the location cache, resulting in no sense of offline machines. 4. Fix Under the 2.0 protocol, the data returned to the driver by the ps and fetch protocols is incorrect, resulting in the client hang problem 5. Fix mutli swichover obproxy core at databuff_print_key_obj<oceanbase::common::ObLogPrintPointerCntx 6. Fix obproxy memory leak caused by frequent push of current limiting rules 7. Fix inaccurate routing in col = ("123") mode 8. Fix too many current-limiting rules causing the push to fail to take effect 9. Fix obproxy memory leak caused by frequent push of current limiting rules 10. Fix After repairing the failover of the standby database into the main database, after the original main database is down, the proxy will have a short time to route the request to the original main database 11. Fix Failed to establish connection without specifying cluster id within 3 minutes after lossless FO 12. Fix After repairing the deletion of the standby database, continue to send requests to the old clusterId 13. Fix the problem that the new protocol link proxy cursor scene, when the fench reaches the second value, it will be rammed 14. Fix the problem of ps cursor ramming under non-compression protocol 15. Fix a new connection reporting too many connections error 16. Fix the case-insensitive name field of the ssl_config configuration table, resulting in unreasonable configuration reading logic 17. Fix Compression and 2.0 protocol, obdump import data will be hung 18. Fix the new protocol, refcursor cannot get the value when there are other out parameters 19. Fix obproxy core at oceanbase::common::ObObjCmpFuncs::compare null safe 20. Fix obproxy core at oceanbase::common::ObTimeConverter::str_to_digit_with_date 21. Fix the error -5560, Unknown prepared statement handle when bmsql opens ps when the compression protocol is enabled
1 parent 1c05ac1 commit 7db4636

File tree

376 files changed

+57403
-17646
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

376 files changed

+57403
-17646
lines changed

Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
EXTRA_DIST=build.sh svn_dist_version script/deploy unittest/Makefile.in unittest/obproxy/Makefile.in deps/easy
1+
EXTRA_DIST=build.sh svn_dist_version script/deploy unittest/Makefile.in unittest/obproxy/Makefile.in deps/easy hotfuncs.txt
22
bin_SCRIPTS=script/deploy/obproxyd.sh
33

44
if WITH_TEST_CASE

build.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,22 @@ function do_config()
6969
case "x$1" in
7070
xdebug)
7171
# configure for developers
72-
./configure --with-gcc-version=5.2.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
72+
./configure --with-gcc-version=9.3.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
7373
echo -e "\033[31m ===build debug version=== \033[0m"
7474
;;
7575
xgcov)
7676
# configure for release
77-
./configure --with-gcc-version=5.2.0 --with-coverage=yes --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
77+
./configure --with-gcc-version=9.3.0 --with-coverage=yes --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
7878
echo -e "\033[31m ===build gcov version=== \033[0m"
7979
;;
80+
xperf)
81+
# configure for release
82+
./configure --with-gcc-version=9.3.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no --with-release --with-perf
83+
echo -e "\033[31m ===build perf version=== \033[0m"
84+
;;
8085
*)
8186
# configure for release
82-
./configure --with-gcc-version=5.2.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no --with-release
87+
./configure --with-gcc-version=9.3.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no --with-release
8388
echo -e "\033[31m ===build release version=== \033[0m"
8489
;;
8590
esac

configure.ac

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
AC_INIT([OceanBase],
2-
[3.2.0],
2+
[3.2.3],
33
[wgs13579@gmail.com],
44
[obproxy-ce],
55
[http://oceanbase.taobao.org/])
66

7-
obapi_version="3.2.0"
7+
obapi_version="3.2.3"
88
AC_SUBST(obapi_version)
99

1010
AC_DISABLE_STATIC
@@ -26,23 +26,23 @@
2626
if test "$withval" = "yes"; then
2727
case "$host_cpu" in
2828
*aarch64* )
29-
AM_CXXFLAGS="-g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wextra -Wno-unused-parameter -Wformat -Wno-conversion -Wno-deprecated -Wno-invalid-offsetof -Wno-unused-result -Wno-format-security -finline-functions -fno-strict-aliasing -mtune=generic -Wno-psabi -Wno-sign-compare"
30-
AM_CFLAGS="-g -O2 -D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -finline-functions -fno-strict-aliasing -Wall -mtune=generic -Wno-psabi -Wno-sign-compare"
29+
AM_CXXFLAGS="-g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wextra -Wno-unused-parameter -Wformat -Wno-conversion -Wno-deprecated -Wno-invalid-offsetof -Wno-unused-result -Wno-format-security -finline-functions -fno-strict-aliasing -mtune=generic -Wno-psabi -Wno-sign-compare -Wno-class-memaccess -Wno-deprecated-copy -Wno-ignored-qualifiers -Wno-aligned-new -Wno-format-truncation -Wno-literal-suffix -Wno-format-overflow -Wno-stringop-truncation -Wno-memset-elt-size -Wno-cast-function-type -Wno-address-of-packed-member -fuse-ld=lld -ffunction-sections -Wl,--no-warn-symbol-ordering,--symbol-ordering-file,${ac_abs_confdir}/hotfuncs.txt"
30+
AM_CFLAGS="-g -O2 -D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -finline-functions -fno-strict-aliasing -Wall -mtune=generic -Wno-psabi -Wno-sign-compare -fuse-ld=lld -ffunction-sections -Wl,--no-warn-symbol-ordering,--symbol-ordering-file,${ac_abs_confdir}/hotfuncs.txt"
3131
;;
3232
* )
33-
AM_CXXFLAGS="-g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wextra -Wno-unused-parameter -Wformat -Wno-conversion -Wno-deprecated -Wno-invalid-offsetof -Wno-unused-result -Wno-format-security -finline-functions -fno-strict-aliasing -mtune=core2 -Wno-psabi -Wno-sign-compare"
34-
AM_CFLAGS="-g -O2 -D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -finline-functions -fno-strict-aliasing -Wall -mtune=core2 -Wno-psabi -Wno-sign-compare"
33+
AM_CXXFLAGS="-g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wextra -Wno-unused-parameter -Wformat -Wno-conversion -Wno-deprecated -Wno-invalid-offsetof -Wno-unused-result -Wno-format-security -finline-functions -fno-strict-aliasing -mtune=core2 -Wno-psabi -Wno-sign-compare -Wno-class-memaccess -Wno-deprecated-copy -Wno-ignored-qualifiers -Wno-aligned-new -Wno-format-truncation -Wno-literal-suffix -Wno-format-overflow -Wno-stringop-truncation -Wno-memset-elt-size -Wno-cast-function-type -Wno-address-of-packed-member -fuse-ld=lld -ffunction-sections -Wl,--no-warn-symbol-ordering,--symbol-ordering-file,${ac_abs_confdir}/hotfuncs.txt"
34+
AM_CFLAGS="-g -O2 -D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -finline-functions -fno-strict-aliasing -Wall -mtune=core2 -Wno-psabi -Wno-sign-compare -fuse-ld=lld -ffunction-sections -Wl,--no-warn-symbol-ordering,--symbol-ordering-file,${ac_abs_confdir}/hotfuncs.txt"
3535
;;
3636
esac
3737
fi
3838
],
39-
[ AM_CXXFLAGS="-D__STDC_LIMIT_MACROS -D_OB_VERSION=1000 -D__STDC_CONSTANT_MACROS -D_NO_EXCEPTION -g -Wall -Wextra -Wno-unused-parameter -Wformat -Wno-conversion -Wno-invalid-offsetof -Wno-unused-result -Wno-format-security -Wno-deprecated -fno-strict-aliasing -fno-omit-frame-pointer -mtune=generic -Wno-psabi -Wno-sign-compare"
39+
[ AM_CXXFLAGS="-D__STDC_LIMIT_MACROS -D_OB_VERSION=1000 -D__STDC_CONSTANT_MACROS -D_NO_EXCEPTION -g -Wall -Wextra -Wno-unused-parameter -Wformat -Wno-conversion -Wno-invalid-offsetof -Wno-unused-result -Wno-format-security -Wno-deprecated -fno-strict-aliasing -fno-omit-frame-pointer -mtune=generic -Wno-psabi -Wno-sign-compare -Wno-class-memaccess -Wno-deprecated-copy -Wno-ignored-qualifiers -Wno-aligned-new -Wno-format-truncation -Wno-literal-suffix -Wno-format-overflow -Wno-stringop-truncation -Wno-memset-elt-size -Wno-cast-function-type -Wno-address-of-packed-member"
4040
AM_CFLAGS="-D_OB_VERSION=1000 -DCOMPATIBLE -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-omit-frame-pointer -g -Wall -Wno-psabi -Wno-sign-compare"
4141
]
4242
)
4343

4444
#check gcc version, add -Wno-ignored-qualifiers flag for gcc version greater than 4.3.0
45-
GCC_VERSION=`$CC -dumpversion`
45+
GCC_VERSION=`$CC -dumpfullversion -dumpversion`
4646
if test $? -eq 0; then
4747
major=`echo $GCC_VERSION | cut -d. -f1`
4848
minor=`echo $GCC_VERSION | cut -d. -f2`
@@ -106,9 +106,12 @@
106106
[with perf (default is NO)]),
107107
[
108108
if test "$withval" = "yes"; then
109-
test_perf=yes
110-
AM_CXXFLAGS="${AM_CXXFLAGS} -D__NEED_PERF__"
111-
AM_LDFLAGS="${AM_LDFLAGS} -lprofiler"
109+
# 下面参数为使用gperftools的选项,目前未用tcmalloc
110+
# test_perf=yes
111+
# AM_CXXFLAGS="${AM_CXXFLAGS} -D__NEED_PERF__"
112+
# AM_LDFLAGS="${AM_LDFLAGS} -lprofiler"
113+
AM_CXXFLAGS="${AM_CXXFLAGS} -fno-omit-frame-pointer"
114+
AM_CFLAGS="${AM_CFLAGS} -fno-omit-frame-pointer"
112115
fi
113116
],
114117
[with_perf=no]
@@ -306,7 +309,7 @@
306309
AM_LDFLAGS="${AM_LDFLAGS} -Wl,--no-as-needed -Wl,--allow-multiple-definition"
307310
BIN_LDFLAGS="-lc -lrt"
308311

309-
if test "X5.2.0" = "X$GCC_VERSION"; then
312+
if test "X9.3.0" = "X$GCC_VERSION"; then
310313
AM_LDFLAGS="${AM_LDFLAGS} -static-libstdc++ -static-libgcc"
311314
BIN_LDFLAGS="${BIN_LDFLAGS} ${TOOLS_DIR}/lib64/libstdc++.a"
312315
postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`

deps/3rd/obproxy.el7.aarch64.deps

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ devdeps-mariadb-connector-c-3.1.12-3.el7.aarch64.rpm
1010
devdeps-gtest-1.8.0-3.el7.aarch64.rpm
1111
devdeps-prometheus-cpp-0.8.0-2.el7.aarch64.rpm
1212
devdeps-grpc-1.20.1-8.el7.aarch64.rpm
13+
devdeps-sqlite-3.38.1-5.el7.aarch64.rpm
1314

1415
[tools]
15-
obdevtools-gcc-5.2.0-3.el7.aarch64.rpm
16+
obdevtools-gcc9-9.3.0-3.el7.aarch64.rpm
1617
obdevtools-bintuils-2.30-3.el7.aarch64.rpm
1718
obdevtools-bison-2.4.1-3.el7.aarch64.rpm
1819
obdevtools-flex-2.5.35-3.el7.aarch64.rpm
20+
obdevtools-llvm-11.0.1-40.el7.aarch64.rpm
1921

2022
[release]
2123
oceanbase-ce-devel-3.1.3-10000102022030411.el7.aarch64.rpm

deps/3rd/obproxy.el7.x86_64.deps

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ devdeps-mariadb-connector-c-3.1.12-3.el7.x86_64.rpm
99
devdeps-prometheus-cpp-0.8.0-4.el7.x86_64.rpm
1010
devdeps-gtest-1.8.0-3.el7.x86_64.rpm
1111
devdeps-grpc-1.20.1-3.el7.x86_64.rpm
12+
devdeps-sqlite-3.38.1-5.el7.x86_64.rpm
1213

1314
[tools]
14-
obdevtools-gcc-5.2.0-3.el7.x86_64.rpm
15+
obdevtools-gcc9-9.3.0-3.el7.x86_64.rpm
1516
obdevtools-bintuils-2.30-3.el7.x86_64.rpm
1617
obdevtools-bison-2.4.1-3.el7.x86_64.rpm
1718
obdevtools-flex-2.5.35-3.el7.x86_64.rpm
19+
obdevtools-llvm-11.0.1-40.el7.x86_64.rpm
1820

1921
[release]
2022
oceanbase-ce-devel-3.1.3-10000102022030411.el7.x86_64.rpm

deps/3rd/obproxy.el8.aarch64.deps

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ devdeps-mariadb-connector-c-3.1.12-16.el8.aarch64.rpm
1010
devdeps-gtest-1.8.0-16.el8.aarch64.rpm
1111
devdeps-prometheus-cpp-0.8.0-2.el8.aarch64.rpm
1212
devdeps-grpc-1.20.1-8.el8.aarch64.rpm
13+
devdeps-sqlite-3.38.1-5.el8.aarch64.rpm
1314

1415
[tools]
15-
obdevtools-gcc-5.2.0-15.el8.aarch64.rpm
16+
obdevtools-gcc9-9.3.0-3.el8.aarch64.rpm
1617
obdevtools-binutils-2.30-7.el8.aarch64.rpm
1718
obdevtools-bison-2.4.1-9.el8.aarch64.rpm
1819
obdevtools-flex-2.5.35-10.el8.aarch64.rpm
20+
obdevtools-llvm-11.0.1-40.el8.aarch64.rpm
1921

2022
[release]
2123
oceanbase-ce-devel-3.1.3-10000102022030411.el8.aarch64.rpm

deps/3rd/obproxy.el8.x86_64.deps

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ devdeps-mariadb-connector-c-3.1.12-3.el8.x86_64.rpm
99
devdeps-prometheus-cpp-0.8.0-4.el8.x86_64.rpm
1010
devdeps-gtest-1.8.0-3.el8.x86_64.rpm
1111
devdeps-grpc-1.20.1-3.el8.x86_64.rpm
12+
devdeps-sqlite-3.38.1-5.el8.x86_64.rpm
1213

1314
[tools]
14-
obdevtools-gcc-5.2.0-3.el8.x86_64.rpm
15+
obdevtools-gcc9-9.3.0-3.el8.x86_64.rpm
1516
obdevtools-bintuils-2.30-3.el8.x86_64.rpm
1617
obdevtools-bison-2.4.1-3.el8.x86_64.rpm
1718
obdevtools-flex-2.5.35-3.el8.x86_64.rpm
19+
obdevtools-llvm-11.0.1-40.el8.x86_64.rpm
1820

1921
[release]
2022
oceanbase-ce-devel-3.1.3-10000102022030411.el8.x86_64.rpm

deps/3rd/obproxy.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ OceanBase Database Proxy
3434
%setup
3535

3636
%build
37-
./configure CXX=${CXX} CC=${CC} --with-gcc-version=5.2.0 RELEASEID=%{RELEASE} --prefix=%{_prefix} --with-test-case=no --with-release=yes --with-tblib-root=/opt/csr/common --with-easy-root=/usr --with-easy-lib-path=/usr/lib64 --with-svnfile --enable-shared=default --enable-silent-rules
37+
./configure CXX=${CXX} CC=${CC} --with-gcc-version=9.3.0 RELEASEID=%{RELEASE} --prefix=%{_prefix} --with-test-case=no --with-release=yes --with-tblib-root=/opt/csr/common --with-easy-root=/usr --with-easy-lib-path=/usr/lib64 --with-svnfile --enable-shared=default --enable-silent-rules
3838
mkdir -p unittest
3939
CPU_CORES=`grep -c ^processor /proc/cpuinfo`
4040
MAKE_ARGS="-j $CPU_CORES"

0 commit comments

Comments
 (0)