Releases: oceanbase/obproxy
Releases · oceanbase/obproxy
v4.3.2_BP1
V4.3.2_CE_BP1
版本信息
名称 |
描述 |
发布时间 |
2024 年 12 月 11 日 |
版本号 |
v4.3.2_BP1 |
功能
BUG修复
- 修复OBKV 暴露分区接口的处理的缺陷
- 修复OBKV 租户不存在场景下的刷新过程
- 修复OBKV 跨分区子请求 异常场景下的稳定问题
v4.3.2
V4.3.2_CE
版本信息
名称 |
描述 |
发布时间 |
2024 年 10 月 23 日 |
版本号 |
v4.3.2 |
功能
- 支持基于权重的动态负载均衡功能
- proxy支持列存副本路由
- 支持只读流量可以设置不自动发送给只读副本
- mysql模式下,支持double类型路由
- OBProxy 支持将 observer 能力集合传递给 jdbc
- 支持SQL限流(已有规则)
- 支持mysql非法日期类型路由
- 支持 GCP 的 PPv2 协议头,支持一段式
- 性能优化二期
- 内存稳定性提升
- 支持 PS 场景 和 promethus 监控性能优化
- 支持 兼容 MySQL 静态变量 port
- 支持 select last_trace_id() 语句做特殊路由
- SHOW MASTER STATUS 支持注解
- 支持 aws 支持 ppv2 (OB-RPC)
- 支持obkv异步化请求处理解析和封装处理框架
- 支持obkv大结果集优化
- obkv支持 substring_index 生成列作为分区键
- obkv优化sharding子请求处理过程
- 支持OBKV PPv2 测试
- 支持obkv暴露分区接口能力
BUG修复
- 修复租户指定大小写敏感,proxy获取location信息失败,无法准确路由的问题
- 创建租户指定lower_case_table_names可能触发的断连问题
- 修复一些异常场景下proxy core的问题
- proxy对REQUEST_TENANT_NOT_IN_SERVER_ERROR错误码进行重试
- 修复drop租户再重新创建租户后,HBASE ODP模式可能出现的重试超时问题
v4.3.1
V4.3.1_CE
版本信息
名称 |
描述 |
发布时间 |
2024 年 08 月 06 日 |
版本号 |
v4.3.1 |
功能
- 支持 obkv 能力
- obproxy2884端口提供新建连接统计数据
- 【MySQL 5.7 兼容】【数据类型】SERIAL
- 【MySQL 兼容】通信协议命令字补全
- 优化压缩协议实现;提升 2.0 协议稳定性
- 配置实现优化
- 【binlog】支持 server_id, server_uuid 等系统变量转发到 ob binlog instance
- 【binlog】支持 client_ip, proxy_version 等属性在 handshake response 时传递给 ob binlog instance
- ODP 内存超限行为修改
- ODP prometheus 监控完善
- 【mysql兼容】mock语法 BINLOG Statement
- 【MySQL兼容】mock语法 SHOW SLAVE HOSTS && SHOW SLAVE STATUS
- 【Mysql兼容】mock语法:SHOW RELAYLOG EVENTS
- 【Binlog】binlog_service_ip支持域名以及多地址
- 【性能优化】单机模式下,降低obproxy的cpu使用
- 表锁功能支持
- obproxy支持ob4.x的主备库功能
- 【字符集】支持 ASCII 字符集
- 支持utf8mb4字符集下utf8mb4_0900_ai_ci字符序
- 支持 proxy_primary_zone_name 支持指定多个zone
- 支持 proxy识别dblink语句,不走分布式事务路由
- 支持 [LSOP]lsop 请求支持二期,完整支持LSOP能力
- 支持[LSOP][BATCH] 支持batch请求和Lsop请求 return one result优化
- 支持[HBASE] hbase模式,增加tablegroup支持,支持多famliy
- 支持[路由] OBKV请求路由信息批量获取支持
- 优化[解析优化]OBKV请求协议解析优化,简化解析流程
- 优化[路由] OBKV请求依赖的dummy_ldc的优化
- 优化[路由] OBKV将session信息与连接依赖解耦以及优化路由
- 其他 [obkv]去除3.4.0 & 4.1.1中 同步处理rpc请求的代码
- 支持 [POI] OBKV HBASE 代理支持基于 substring 的 Key 分区路由
- 支持 [ODP-4.3.1 BP1][OBKV][分区键计算] hbase支持 substring_index 生成列作为分区键
BUG修复
- metadb拉配置和proxyro集群密码修改并发,导致异常配置写入,登录失败
- 公有云上 prometheus 数据打印数据库名错误
- ObLatch 报错加锁失败
- load data local 导入卡住
- obloader4.3使用云上旁路导入功能,导入数据失败 · Aone
- 【obkv】java客户端异步query返回的session id是-1而不是0,校验失败
- [obkv] 跨分区情况下超时不会返回server的错误码
- [OBKV] lsop 容灾场景下疑似OB_CONCURRENCY_OBJ_POOL内存泄漏
- [obkv] lsof场景下OB_SE_ARRAY模块内存有明显泄漏
- 【OBKV】修改客户端使query查询超时,proxy触发core
- 连接proxy,二合一协议下,jdbc 执行 begin 语句,夯住
- [mysql 协议]OK包转发处理 Server session state change标记的清理
- 创建备集群后连接失败,报错cluster name does not match to
- obproxy4.2.3.0 INSERT ob1.4.79分区表时路由异常,非leader路由
- binlog没有携带connect attr
- COM_STMT_SEND_LONG_DATA连接断开后,proxy需要断开客户端连接
v4.2.3
V4.2.3_CE
版本信息
名称 |
描述 |
发布时间 |
2024 年 03 月 07 日 |
版本号 |
v4.2.3 |
功能
- 支持 【易用性】路由语句路由诊断
- 支持 【易用性】断连接二期
- 支持 【PCI 认证】SSL控制TLS版本只使用TLS1.2或者TLS1.3
- 支持 【OMS】OBClient gbk乱码问题
- 支持 binlog 地址变更
- 支持 弱读场景下,observer需要在ok包中携带,本语句访问的分区是否是leader标记
- 支持 aws 支持 ppv2
BUG修复
- 指定 IP 功能异常端口如*,0断连接,预期报错
- 【Binlog Service】ODP 开启高可用开关后,会出现概率性链接binlog服务失败的问题
- PS 内存泄漏导致程序退出
- binlog请求的场景下集群信息过期导致断连接
- 连接诊断相关内存泄漏,proxy内存爆,进程退出
v4.2.1
v4.2.1_CE
About this version
Item |
Description |
Release time |
2023-10-13 |
Release number |
V4.2.1 |
Commit number |
|
New features
- [Binlog] Support binlog related statement forwarding
- Support [ease of use] routing diagnosis
- Support [ease of use] connection diagnosis
- Support [Public Cloud] SSL and add attribute settings for forced encryption
- Support [Public Cloud] universal connection initialization mechanism
Bug fixes
- Fix the disconnection problem caused by consume size being 0
- Fix the disconnection problem caused by over-long user variables under PL
- Fixed delete proxy_config tenant level, expected error, but actually executed successfully
- Fix the scenario of transaction routing restarting the coordinator and sess info synchronization problem during the upgrade process
- Fix session info synchronization in error package scenario
- fix req len error in execute without flag
- Fixed the problem that internal SQL does not route according to the specified IP
- Fix the problem of disconnection when executing sql after xa_start hold
- Fix the problem that the ODP parsing module may cause memory leaks
- Fixed the problem of failure to establish connection when only last_insert_id is modified.
- Fixed the problem that replace proxy_config with multiple values is not supported
- Fixed the problem of configuration using too much CPU resources
- Fixed the show columns from 'db_name'.'table_name' statement recognition issue
- Fix the hot upgrade process process exits
v4.2.1_CE
版本信息
名称 |
描述 |
发布时间 |
2023 年 10 月 13 日 |
版本号 |
v4.2.1 |
提交号 |
|
功能
- 支持 【Binlog】支持binlog相关的语句转发
- 支持【易用性】路由诊断
- 支持 【易用性】连接诊断
- 支持【公有云】SSL 增加强制走加密的属性设置
- 支持【公有云】通用的连接初始化机制
BUG修复
- 修复 consume size 为0 导致的断连接问题
- 修复 PL 下,超长用户变量导致的断连接问题
- 修复 delete proxy_config 租户级别,预期报错,实际执行成功
- 修复升级过程中事务路由重开协调者的场景以及sess info同步问题
- 修复error包场景下的session info同步
- fix req len error in execute without flag
- 修复内部 SQL 不按照指定 ip 路由问题
- 修复 xa_start hold 后执行 sql 断连的问题
- 修复 ODP 解析模块可能导致内存泄漏的问题
- 修复只有 last_insert_id 修改情况下,导致的无法建联问题
- 修复不支持 replace proxy_config 带多个value 的问题
- 修复配置使用过多 CPU 资源问题
- 修复 show columns from
db_name
.table_name
语句识别问题
- 修复热升级过程进程退出
v4.1.0_CE
V4.1.0_CE
About this version
Item |
Description |
Release time |
2023-03-20 |
Release number |
V4.1.0 |
Commit number |
c3c380915f466c969c2e3fda9ad5cd7f8488c4cf |
New features
- Support for multiple-cluster Proxyro passwords
- Support for rich client capabilities
- Support for specifying Server IP routing
- Support for the Latin1 character set
- Support for transparently passing connection attributes with special prefixes
- Support for distributed transaction routing
- Support for MySQL binlog
- Support for read-write separation and transaction splitting
- Support for mapping VIPs to Cluster/Tenant through means other than MetaDB
- Support for global-level weak-read and read-only configuration parameters
- Support for GIS, JSON data types
- Support for IPv6
- Support for accurately routing access to the sys tenant OceanBase library in QA Mode
- Support for ROWID routing under PS
- Support for multi-column partition key routing
- Support for obtaining column default value routing
- Support for calculating expressions such as nvl, sysdate, mod, to_char, and substr
- Support for is null and is not null routing
- Support for XA Start statement hold
- 【OB Sharding】Support for rolling upgrades
- 【OB Sharding】Support for SHOW TOPOLOGY syntax
- 【OB Sharding】Added hint support for session stickiness: route to the previous non-scan-all statement shard
- 【OB Sharding】Support for information_schema.partitions and information_schema.coulmns
- 【OB Sharding】Support for SQL-level timeout control
- 【OB Sharding】Single-shard support for SQL syntax: batch update, batch delete, batch insert
Improvements
- RTO optimization, less than 8S
- OB 2.0 protocol optimization, reducing synchronous statements
- OBProxy actively disconnects and sends Error packets to the client
- Supports global-level PS cache
- client_sock_option_flag_out default value is changed from 2 to 3
- obproxy_error.log will print OBServer TraceId
- Memory optimization, including connection memory and PS memory
- RTO probe optimization, considering it normal when receiving Handshake packets
- The default character encoding in HandShake packets is changed to 46
- New enable_binlog_service configuration item, default false, indicating whether to enable binlog function
- 【OB Sharding】Log optimization
- 【OB Sharding】insert/update/delete statements support multi-table syntax
- 【OB Sharding】scan_all optimization
- 【OB Sharding】Black screen DDL optimization
Bug fixes
- Fixed Core issue when accessing partitioned tables with RowID
- Fixed issue where deleting text ps under Client 2.0 protocol does not return anything
- Fixed issue where executing text ps under Client 2.0 protocol, then executing sql normally causes "requestId mismatch" error
- Fixed issue where erroneous format of err packet in internal SQL causes client to hang
- Fixed issue where enabling v2 protocol causes "4016" error and disconnection
- Fixed issue where enabling "enable_ob_protocol_v2_with_client=true" causes disconnection during secondary sql routing
- Fixed issue where connection id mismatch causes proxy disconnection
- Fixed issue where enabling compression protocol causes disconnection
- Fixed issue where using COM_CHANGE_USER command with username not in user_name@tenant_name format causes inability to use
- Fixed issue where date type is inaccurately routed in certain scenarios
- Fixed Core issue caused by abnormal to_timestamp parameter
- Fixed Core issue caused by executing anonymous blocks in ODC
- Fixed remote routing issue with to_date function
- Fixed routing inaccuracy issue with timestamp with local time zone type list partitioning under Oracle mode
- Fixed Core issue caused by some keywords not having pointers set
- Fixed issue where detection optimization causes inability to whiteness
- Fixed issue where SSL configuration retrieval fails
- Fixed issue where enabling CPU resource isolation on public cloud causes inability to connect to cluster
- Fixed issue where using int form for vid configuration does not take effect
- Fixed issue with substr() causing index out of bounds
- Fixed partition calculation error with range partitioning under "where c1 >20" condition
- Fixed issue where type conversion fails and causes inability to route when there are NULL values in list and list column partitioning
- Fixed Core issue introduced by global PS
- Fixed issue where autocommit flag in OK packet returned by set autocommit=0 is still 1
- Fixed issue where some fields in RespResult are not initialized in constructor, causing abnormal disconnection when used
- Fixed issue where XA_START hold&sync PS 2-in-1 protocol supports complex parameter types
- Fixed issue where XA_START hold&sync synchronous process cannot accept multiple OB20 packets
- Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObProxyExprCalculator::calc_partition_id_with_rowid_str
- Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObProto20Utils::analyze_compressed_packet_header
- Fixed obproxy Core issue where old database saved in proxy session is used, causing obproxy core at oceanbase::common::ObLogger::log_message_kv
- Fixed obproxy Core dump at oceanbase::obproxy::proxy::ObMysqlSM::setup_error_transfer
- Fixed obproxy binary Core dump at obproxy/obutils/ob_proxy_sql_parser.cpp:890
- Fixed obproxy Core dump at oceanbase::obproxy::proxy::ObMysqlSM::tunnel_handler_response_transfered
- Fixed Core issue with oceanbase::obproxy::proxy::ObMysqlTransact::is_internal_request
- Fixed odp Core issue with expression mod() calculation at oceanbase::obproxy::opsql::ObProxyExprMod::calc
- Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObMysqlVCTable::cleanup_entry
- Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObMysqlTransact::is_internal_request
- Fixed Core issue at oceanbase::obproxy::proxy::ObProxyPartMgr::get_first_part at obproxy/proxy/route/obproxy_part_mgr.cpp
- Fixed obproxy core issue at ObCongestionEntry::to_string in obproxy/obutils/ob_congestion_entry.cpp
- Fixed a disconnect issue when executing insert statement with "binary" keyword in the "values" clause in OB Sharding
- Fixed an issue in OB Sharding where the "case when" condition in the "where" clause is incorrectly identified as a sharding parameter
- Fixed a core issue in OB Sharding when using unsupported expressions in the "order by" or "group by" clause
V4.1.0_CE
版本信息
名称 |
描述 |
发布时间 |
2023 年 03 月 20 日 |
版本号 |
v4.1.0 |
提交号 |
c3c380915f466c969c2e3fda9ad5cd7f8488c4cf |
功能
- 支持 多集群 Proxyro 密码
- 支持 富客户端能力
- 支持 指定 Server IP 路由
- 支持 latin1字符集
- 支持 透传带有特殊前缀的 connection attr
- 支持 分布式事务路由
- 支持 MySQL binlog
- 支持 读写分离 和 事务拆分
- 支持 通过非 MetaDB 的方式设置 VIP 与 Cluster/Tenant 的映射
- 支持 全局级别的弱读、只读配置参数
- 支持 GIS、JSON 数据类型
- 支持 IPv6
- 支持 QA Mode 下访问 sys 租户 OceanBase 库准确路由
- 支持 PS 下 ROWID 路由
- 支持 多列分区键路由
- 支持 获取列 default 值路由
- 支持 nvl、sysdate、mod、to_char 和 substr 表达式计算
- 支持 is null 和 is not null 路由
- 支持 XA Start 语句 Hold
- 【OB Sharding】支持滚动升级
- 【OB Sharding】支持SHOW TOPOLOGY语法
- 【OB Sharding】新增 hint 支持会话粘滞:路由到前一个非 scan all 语句的分片
- 【OB Sharding】支持 information_schema.partitions 和 information_schema.coulmns
- 【OB Sharding】支持 SQL 级别的 timeout 超时控制
- 【OB Sharding】单分片支持SQL语法:批量更新、批量删除、批量插入
优化
- RTO 优化,小于 8S
- OB 2.0 协议优化,减少同步语句
- OBProxy主动断连接,会发送Error包到客户端
- 支持全局级别的 PS 缓存
- client_sock_option_flag_out 默认值从 2 修改为 3
- obproxy_error.log 日志中会打印 OBServer TraceId
- 内存优化,包括连接内存、PS 内存
- RTO 探活优化,收到 Handshake 包即认为正常
- HandShake 包中默认的字符编码转为 46
- 新增 enable_binlog_service 配置项, 默认false,表示是否打开 binlog 功能
- 【OB Sharding】日志优化
- 【OB Sharding】insert/update/delete 语句支持多表语法
- 【OB Sharding】scan_all 优化
- 【OB Sharding】黑屏 DDL 优化
BUG修复
- 修复 带 RowID 访问分区表的 Core 问题
- 修复 Client 2.0 协议下,文本ps删除无返回
- 修复 Client 2.0 协议下,执行文本ps异常场景再正常执行sql,报错requestId mismatch
- 修复 内部SQL err packet回包格式错误导致客户端hang住
- 修复 开启v2协议,报错4016,断连接的问题
- 修复 enable_ob_protocol_v2_with_client=true,sql二次路由断连接
- 修复 connection id mismatch 导致 proxy 断连接
- 修复 开压缩协议后,断连接的问题
- 修复 COM_CAHNGE_USER命令,用户名不符合user_name@tenant_name格式导致无法使用的问题
- 修复 date 类型在部分场景下路由不准确的问题
- 修复 异常 to_timestamp 参数导致的 Core 问题
- 修复 ODC 执行匿名块导致的 Core 问题
- 修复 to_date 函数远程路由问题
- 修复 Oracle模式下 timestamp with local time zone类型list分区路由不准的问题
- 修复 部分关键字没有设置指针导致的 core 问题
- 修复 探测优化导致一直无法洗白的问题
- 修复 SSL 配置获取失败问题
- 修复 公有云上开启 cpu 资源隔离,集群连不上的问题
- 修复 vid 使用 int 形式下发配置不生效
- 修复 substr()下标越界问题
- 修复 range 分区在 where c1 >20 条件下,分区计算错误问题
- 修复 list,list column 分区,如果表中有 NULL 值,进行类型转换会失败,导致无法路由的问题
- 修复 全局 PS 引入的 Core 问题
- 修复 set autocommit=0 返回的 OK 包中的 autocommit 标记还是 1 的问题
- 修复 RespResult 某些字段在构造函数中未初始化,导致使用时判断异常断链的问题
- 修复 XA_START hold&sync PS 二合一协议中支持复杂参数类型
- 修复 XA_START hold&sync 同步过程中无法接受多个 OB20 包的问题
- 修复 obproxy core at oceanbase::obproxy::proxy::ObProxyExprCalculator::calc_partition_id_with_rowid_str
- 修复core at oceanbase::obproxy::proxy::ObProto20Utils::analyze_compressed_packet_header
- 修复 proxy session中保存的老database被使用后,obproxy core at oceanbase::common::ObLogger::log_message_kv
- 修复 oceanbase::obproxy::proxy::ObMysqlSM::setup_error_transfer core dump
- 修复 obproxy binary core dumped at obproxy/obutils/ob_proxy_sql_parser.cpp
- 修复 oceanbase::obproxy::proxy::ObMysqlSM::tunnel_handler_response_transfered core dump
- 修复 oceanbase::obproxy::proxy::ObMysqlTransact::is_internal_request Core 问题
- 修复 表达式 mod() 计算,odp core at oceanbase::obproxy::opsql::ObProxyExprMod::calc
- 修复 obproxy core oceanbase::obproxy::proxy::ObMysqlVCTable::cleanup_entry 问题
- 修复 obproxy core at oceanbase::obproxy::proxy::ObMysqlTransact::is_internal_request 问题
- 修复 core at oceanbase::obproxy::proxy::ObProxyPartMgr::get_first_part at obproxy/proxy/route/obproxy_part_mgr.cpp
- 修复 obproxy core at ObConge...
Read more
v4.0.0
About this version
Item |
Description |
Release time |
2021-11-01 |
Release number |
V4.0.0 |
Commit number |
9d5c90e |
New features
- Support session information synchronization mechanism
- Support public cloud shared proxy CPU resource tenant isolation
- Support random routing
- Support specifying ip routing
- Support to configure tenant isolation
- Support OB_MYSQL_COM_STMT_RESET
- Support Primary Zone routing
- Fast fail-fast for request probes is supported. POC use only
- Support text PS
- Support OB_MYSQL_COM_RESET_CONNECTION
- Support connection string ClusterId custom separator
- Support non-Alibaba cloud environment, use remote ip as virtual ip
- 【OB Sharding】Support SHOW INDEX FROM statement
- 【OB Sharding】Support truncate syntax
- 【OB Sharding】Support SHOW FULL TABLES statement
- 【OB Sharding】SHOW KEYS FROM statement
- 【OB Sharding】Support SHOW FULL COLUMNS statement
- 【OB Sharding】When the scan_all switch is false, union and union all are supported;
- 【OB Sharding】When the scan_all switch is true, union all is supported
- 【OB Sharding】show table, show index, etc. support like syntax
- 【OB Sharding】Limited support for subqueries
- 【OB Sharding】Support to adjust the memory limit according to the container memory size
- Turn off the default parameter for fast-fail request probes. Off by default
- Adjust the whitelist policy, no longer use the client_ip sent by the client, and directly use the tcp peer IP
Improvements
- Add max_used_connections to reduce log printing when client connection is disconnected
- locality changes support all_dummy refresh
- Intercept configuration table multi-row insertion
- Compatible with MySQL 8.0, HandleShake Capability adds multi related value
- Optimize partially duplicated logs
- Whitelist optimization, telnet detection directly disconnects
Bug fixes
- Fix the memory problem caused by accessing internal tables and abnormally obtaining partition information
- Fixed OB_MYSQL_COM_STMT_EXECUTE protocol, ref_cursor reported error fetch out of sequence under function
- Fix the issue that the enable_client_ip_checkout parameter does not take effect when there is a connect attr parameter
- Fix the Sharding scenario, the select table name of the sub-database and sub-table is case-sensitive, resulting in an error report
- Fix the Sharding scenario, the select of sub-database and sub-table will be intercepted and unsupported syntax problem
- Fixed an issue where a single SQL was sent multiple times, causing the SQL to take more than 40ms
- Fix performance issues introduced by random partitions
- Fix the problem of disconnection of changUser command under normal protocol
- Fixed the problem that file systems such as xfs cannot accurately determine whether it is a directory using the readdir system call
- Fix the problem that rslist startup fails more than 3 times and does not fall back to the original rslist
- Fixed inaccurate sql routing caused by text PS escape symbols
- Fix name super long text PS, prepare stage odp core
- Fix text PS case insensitivity
- Fix the error Unknown prepared statement handle when executing the text PS large request
- Fix text PS date type route as partition key, text ps parameter routing is not allowed
- Fix text PS trigger pl routing is not allowed
- Fix text PS name contains illegal characters, execute error 1243
- Fix the problem that user, value, etc. are used as keywords in lexical analysis
- Fixed the problem that SSL cannot be used for the link between Client and Proxy
- 【OB Sharding】Fixed that the hint with partition key cannot calculate the partition key when inserting
- 【OB Sharding】Fixed that if the partition key is after the 64th column in the insert statement, it will report that it cannot be calculated
- 【OB Sharding】Fix the problem of disconnection of sequence query
- 【OB Sharding】Fix the core caused by not supporting sum(case when) in the function
- When hot restart, if the old connection receives the OB_MYSQL_COM_PING command, the old Proxy will actively disconnect the connection
- 【OBSharding】 Fix the syntax parsing problem of delete and update
版本信息
名称 |
描述 |
发布时间 |
2022 年 11 月 01 日 |
版本号 |
v4.0.0 |
提交号 |
9d5c90e |
功能
- 支持 session 信息同步机制
- 支持公有云共享代理 CPU 资源租户隔离
- 支持 随机路由
- 支持 指定 ip 路由
- 支持 配置租户隔离
- 支持 OB_MYSQL_COM_STMT_RESET
- 支持 Primary Zone 路由
- 支持 请求探测快速失败。仅限 POC 使用
- 支持 文本 PS
- 支持 OB_MYSQL_COM_RESET_CONNECTION
- 支持 连接串 ClusterId 自定义分隔符
- 支持非阿里云环境,使用 remote ip 作为 virtual ip
- 【OB Sharding】支持 SHOW INDEX FROM 语句
- 【OB Sharding】支持 truncate 语法
- 【OB Sharding】支持 SHOW FULL TABLES 语句
- 【OB Sharding】SHOW KEYS FROM 语句
- 【OB Sharding】支持 SHOW FULL COLUMNS 语句
- 【OB Sharding】scan_all开关是 false 的时候,支持 union、union all;
- 【OB Sharding】scan_all开关是 true 的时候,支持 union all
- 【OB Sharding】show table 、show lndex 等支持like 语法
- 【OB Sharding】有限支持子查询
- 【OB Sharding】支持根据容器内存大小调整内存上限
- 关闭 请求探测快速失败 的默认参数。默认关闭
- 调整白名单策略,不再使用客户端传过来的client_ip,直接使用tcp对端IP
优化
- 客户端连接断开时,添加 max_used_connections 减少的日志打印
- locality变更支持all_dummy刷新
- 拦截配置表多行插入
- MySQL 8.0 兼容,HandleShake Capability 新增 multi 相关值
- 优化部分重复日志
- 白名单优化,telnet 探测直接断连接
BUG修复
- 修复访问内部表,异常获取分区信息导致的内存问题
- 修复 OB_MYSQL_COM_STMT_EXECUTE 协议,ref_cursor 在function下报错fetch out of sequence 的问题
- 修复 enable_client_ip_checkout 参数在有 connect attr 参数时不生效的问题
- 修复 Sharding 场景,分库分表的 select 表名区分大小写,导致的报错问题
- 修复 Sharding 场景,分库分表的 select 会被拦截不支持的语法问题
- 修复 单条SQL 多次发送,导致的 SQL 耗时超过 40ms 问题
- 修复随机分区引入的性能问题
- 修复 changUser 命令在普通协议下断连接问题
- 修复 xfs 等文件系统使用 readdir 系统调用无法准确判断是否为目录的问题
- 修复 rslist 方式启动,失败超过3次,没有回退到原始 rslist 的问题
- 修复文本 PS 转义符号引起的sql路由不准
- 修复名字超长文本 PS ,prepare阶段odp core
- 修复文本 PS 大小写不敏感
- 修复文本 PS large request 中执行报错Unknown prepared statement handle
- 修复文本 PS date 类型路由作为分区键,文本ps传参路由不准
- 修复文本 PS 触发pl路由不准
- 修复文本 PS 名字中含有非法字符,execute报错1243
- 修复词法解析中把user、value等作为关键字的问题
- 修复 Client 与 Proxy 链路无法使用 SSL 问题
- 【OB Sharding】修复带分区键的 hint 在 insert 的时候, 无法计算分区键
- 【OB Sharding】修复 insert 语句如果分区键在第 64 个列之后,会报无法计算
- 【OB Sharding】修复 sequence查询断连的问题
- 【OB Sharding】修复函数中不支持sum(case when)导致的core
- 修复 热重启时,如果老连接接收到 OB_MYSQL_COM_PING 命令,老 Proxy 会主动断开连接的问题
- 【OB Sharding】修复 delete 和 update 的语法解析问题
v3.2.3.5
About this version
Item |
Description |
Release time |
2021-9-05 |
Release number |
V3.2.3.5 |
Commit number |
6dc6c66 |
New features
- Added the parameter location_expire_period_time to set the active expiration time of the location cache. The value range is [0s, 30d], the default is 0
Improvements
- show proxyroute supports printing location cache expiration time
- Distinguish between business requests and internal, full-time requests, and business request parameter control
- When the business request is enabled_cached_server = true, the Partition is not random
Bug fixes
- Fix core issue when obproxy::omt::ObResourceUnitTableProcessor::inc_conn
- Fix the problem that the route cannot be routed when establishing a connection with a cluster id
- Fix the timestamp accuracy modification caused the old version ofthe observer to be inaccurate routing
- Fix the Sharding scenario, the select table name of the sub-database and sub-table is case-sensitive, resulting in an error report
- Fix the Sharding scenario, the select of sub-database and sub-table will be intercepted and unsupported syntax problem
- Fixed an issue where a single SQL was sent multiple times, causing the SQL to take more than 40ms
- Fix the rslist method, specify 127.0.0.1 to start obproxy, in the server failure scenario, more than 3 times, the connection fails to be established
- Fixed the issue that if the cluster scheduled task fails more than 10 times, the blacklist will be invalid
- Fixed the problem that OBProxy still thinks the connection is successful when the server hangs up
- Fixed the problem that the cluster scheduled task failed more than times, causing it to remain in the blacklist
- Fix the problem that COM_CHANGE_USER will be disconnected
v3.2.3
RELEASE NOTE
Item |
Description |
Release date |
2022-3-30 |
Release number |
V3.2.3 |
Commit number |
7db4636 |
About this version
Feature:
- Support public cloud shared proxy connection number resource isolation
- Support public cloud shared proxy tenant level whitelist
- Support shared proxy cluster configuration push
- Support hot restart
- Supports partition routing for Timestmp data types
- Support client-side Execute optimization, allow without Param Type
- Proxyd.sh supports port modification, rslist startup, and configurl startup
- PS memory optimization
- 16C model performance optimization
- 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
- Log compression can be turned on with enable_syslog_file_compress=True
- Full username strict mode can be enabled by enable_full_username=True
- You can increase the SQL length of obproxy_digest.log by setting the digest_sql_length parameter
- Added support for partition routing for timestamp type and negative numbers
- Added support for DDL statements in sharding scenarios
- Added tenant-level SSL link encryption
- Supports splicing URLs by zone
- OB Sharding supports Join
Bugfix:
- Fix the problem that the new password under the newly deployed cluster etc is inconsistent with the old password
- Fix ODP unable to handle configurations larger than 4K, currently there is no limit to configuration size
- 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.
- 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
- Fix mutli swichover obproxy core at databuff_print_key_obj<oceanbase::common::ObLogPrintPointerCntx
- Fix obproxy memory leak caused by frequent push of current limiting rules
- Fix inaccurate routing in col = ("123") mode
- Fix too many current-limiting rules causing the push to fail to take effect
- Fix obproxy memory leak caused by frequent push of current limiting rules
- 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
- Fix Failed to establish connection without specifying cluster id within 3 minutes after lossless FO
- Fix After repairing the deletion of the standby database, continue to send requests to the old clusterId
- Fix the problem that the new protocol link proxy cursor scene, when the fench reaches the second value, it will be rammed
- Fix the problem of ps cursor ramming under non-compression protocol
- Fix a new connection reporting too many connections error
- Fix the case-insensitive name field of the ssl_config configuration table, resulting in unreasonable configuration reading logic
- Fix Compression and 2.0 protocol, obdump import data will be hung
- Fix the new protocol, refcursor cannot get the value when there are other out parameters
- Fix obproxy core at oceanbase::common::ObObjCmpFuncs::compare null safe
- Fix obproxy core at oceanbase::common::ObTimeConverter::str_to_digit_with_date
- Fix the error -5560, Unknown prepared statement handle when bmsql opens ps when the compression protocol is enabled