Skip to content

Commit

Permalink
Feature:
Browse files Browse the repository at this point in the history
  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
  • Loading branch information
wgs13579 authored and wangzelin19961202 committed Apr 1, 2022
1 parent 1c05ac1 commit 7db4636
Show file tree
Hide file tree
Showing 376 changed files with 57,403 additions and 17,646 deletions.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
EXTRA_DIST=build.sh svn_dist_version script/deploy unittest/Makefile.in unittest/obproxy/Makefile.in deps/easy
EXTRA_DIST=build.sh svn_dist_version script/deploy unittest/Makefile.in unittest/obproxy/Makefile.in deps/easy hotfuncs.txt
bin_SCRIPTS=script/deploy/obproxyd.sh

if WITH_TEST_CASE
Expand Down
11 changes: 8 additions & 3 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,17 +69,22 @@ function do_config()
case "x$1" in
xdebug)
# configure for developers
./configure --with-gcc-version=5.2.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
./configure --with-gcc-version=9.3.0 --with-coverage=no --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
echo -e "\033[31m ===build debug version=== \033[0m"
;;
xgcov)
# configure for release
./configure --with-gcc-version=5.2.0 --with-coverage=yes --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
./configure --with-gcc-version=9.3.0 --with-coverage=yes --enable-buildtime=no --enable-strip-ut=no --enable-silent-rules --enable-dlink-observer=no
echo -e "\033[31m ===build gcov version=== \033[0m"
;;
xperf)
# configure for release
./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
echo -e "\033[31m ===build perf version=== \033[0m"
;;
*)
# configure for release
./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
./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
echo -e "\033[31m ===build release version=== \033[0m"
;;
esac
Expand Down
27 changes: 15 additions & 12 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
AC_INIT([OceanBase],
[3.2.0],
[3.2.3],
[[email protected]],
[obproxy-ce],
[http://oceanbase.taobao.org/])

obapi_version="3.2.0"
obapi_version="3.2.3"
AC_SUBST(obapi_version)

AC_DISABLE_STATIC
Expand All @@ -26,23 +26,23 @@
if test "$withval" = "yes"; then
case "$host_cpu" in
*aarch64* )
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"
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"
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"
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"
;;
* )
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"
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"
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"
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"
;;
esac
fi
],
[ 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"
[ 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"
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"
]
)

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

if test "X5.2.0" = "X$GCC_VERSION"; then
if test "X9.3.0" = "X$GCC_VERSION"; then
AM_LDFLAGS="${AM_LDFLAGS} -static-libstdc++ -static-libgcc"
BIN_LDFLAGS="${BIN_LDFLAGS} ${TOOLS_DIR}/lib64/libstdc++.a"
postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
Expand Down
4 changes: 3 additions & 1 deletion deps/3rd/obproxy.el7.aarch64.deps
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ devdeps-mariadb-connector-c-3.1.12-3.el7.aarch64.rpm
devdeps-gtest-1.8.0-3.el7.aarch64.rpm
devdeps-prometheus-cpp-0.8.0-2.el7.aarch64.rpm
devdeps-grpc-1.20.1-8.el7.aarch64.rpm
devdeps-sqlite-3.38.1-5.el7.aarch64.rpm

[tools]
obdevtools-gcc-5.2.0-3.el7.aarch64.rpm
obdevtools-gcc9-9.3.0-3.el7.aarch64.rpm
obdevtools-bintuils-2.30-3.el7.aarch64.rpm
obdevtools-bison-2.4.1-3.el7.aarch64.rpm
obdevtools-flex-2.5.35-3.el7.aarch64.rpm
obdevtools-llvm-11.0.1-40.el7.aarch64.rpm

[release]
oceanbase-ce-devel-3.1.3-10000102022030411.el7.aarch64.rpm
4 changes: 3 additions & 1 deletion deps/3rd/obproxy.el7.x86_64.deps
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ devdeps-mariadb-connector-c-3.1.12-3.el7.x86_64.rpm
devdeps-prometheus-cpp-0.8.0-4.el7.x86_64.rpm
devdeps-gtest-1.8.0-3.el7.x86_64.rpm
devdeps-grpc-1.20.1-3.el7.x86_64.rpm
devdeps-sqlite-3.38.1-5.el7.x86_64.rpm

[tools]
obdevtools-gcc-5.2.0-3.el7.x86_64.rpm
obdevtools-gcc9-9.3.0-3.el7.x86_64.rpm
obdevtools-bintuils-2.30-3.el7.x86_64.rpm
obdevtools-bison-2.4.1-3.el7.x86_64.rpm
obdevtools-flex-2.5.35-3.el7.x86_64.rpm
obdevtools-llvm-11.0.1-40.el7.x86_64.rpm

[release]
oceanbase-ce-devel-3.1.3-10000102022030411.el7.x86_64.rpm
4 changes: 3 additions & 1 deletion deps/3rd/obproxy.el8.aarch64.deps
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ devdeps-mariadb-connector-c-3.1.12-16.el8.aarch64.rpm
devdeps-gtest-1.8.0-16.el8.aarch64.rpm
devdeps-prometheus-cpp-0.8.0-2.el8.aarch64.rpm
devdeps-grpc-1.20.1-8.el8.aarch64.rpm
devdeps-sqlite-3.38.1-5.el8.aarch64.rpm

[tools]
obdevtools-gcc-5.2.0-15.el8.aarch64.rpm
obdevtools-gcc9-9.3.0-3.el8.aarch64.rpm
obdevtools-binutils-2.30-7.el8.aarch64.rpm
obdevtools-bison-2.4.1-9.el8.aarch64.rpm
obdevtools-flex-2.5.35-10.el8.aarch64.rpm
obdevtools-llvm-11.0.1-40.el8.aarch64.rpm

[release]
oceanbase-ce-devel-3.1.3-10000102022030411.el8.aarch64.rpm
4 changes: 3 additions & 1 deletion deps/3rd/obproxy.el8.x86_64.deps
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ devdeps-mariadb-connector-c-3.1.12-3.el8.x86_64.rpm
devdeps-prometheus-cpp-0.8.0-4.el8.x86_64.rpm
devdeps-gtest-1.8.0-3.el8.x86_64.rpm
devdeps-grpc-1.20.1-3.el8.x86_64.rpm
devdeps-sqlite-3.38.1-5.el8.x86_64.rpm

[tools]
obdevtools-gcc-5.2.0-3.el8.x86_64.rpm
obdevtools-gcc9-9.3.0-3.el8.x86_64.rpm
obdevtools-bintuils-2.30-3.el8.x86_64.rpm
obdevtools-bison-2.4.1-3.el8.x86_64.rpm
obdevtools-flex-2.5.35-3.el8.x86_64.rpm
obdevtools-llvm-11.0.1-40.el8.x86_64.rpm

[release]
oceanbase-ce-devel-3.1.3-10000102022030411.el8.x86_64.rpm
2 changes: 1 addition & 1 deletion deps/3rd/obproxy.spec
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ OceanBase Database Proxy
%setup

%build
./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
./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
mkdir -p unittest
CPU_CORES=`grep -c ^processor /proc/cpuinfo`
MAKE_ARGS="-j $CPU_CORES"
Expand Down
Loading

0 comments on commit 7db4636

Please sign in to comment.