Skip to content

Releases: oceanbase/obproxy

v4.3.2_BP1

10 Dec 06:02
Compare
Choose a tag to compare

V4.3.2_CE_BP1

版本信息

名称 描述
发布时间 2024 年 12 月 11 日
版本号 v4.3.2_BP1

功能

  • [RPC] 支持OB-Redis能力

BUG修复

  • 修复OBKV 暴露分区接口的处理的缺陷
  • 修复OBKV 租户不存在场景下的刷新过程
  • 修复OBKV 跨分区子请求 异常场景下的稳定问题

v4.3.2

23 Oct 05:50
Compare
Choose a tag to compare

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

06 Aug 07:05
Compare
Choose a tag to compare

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

07 Mar 03:44
Compare
Choose a tag to compare

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

13 Oct 09:28
Compare
Choose a tag to compare

v4.2.1_CE

About this version

Item Description
Release time 2023-10-13
Release number V4.2.1
Commit number

New features

  1. [Binlog] Support binlog related statement forwarding
  2. Support [ease of use] routing diagnosis
  3. Support [ease of use] connection diagnosis
  4. Support [Public Cloud] SSL and add attribute settings for forced encryption
  5. Support [Public Cloud] universal connection initialization mechanism

Bug fixes

  1. Fix the disconnection problem caused by consume size being 0
  2. Fix the disconnection problem caused by over-long user variables under PL
  3. Fixed delete proxy_config tenant level, expected error, but actually executed successfully
  4. Fix the scenario of transaction routing restarting the coordinator and sess info synchronization problem during the upgrade process
  5. Fix session info synchronization in error package scenario
  6. fix req len error in execute without flag
  7. Fixed the problem that internal SQL does not route according to the specified IP
  8. Fix the problem of disconnection when executing sql after xa_start hold
  9. Fix the problem that the ODP parsing module may cause memory leaks
  10. Fixed the problem of failure to establish connection when only last_insert_id is modified.
  11. Fixed the problem that replace proxy_config with multiple values is not supported
  12. Fixed the problem of configuration using too much CPU resources
  13. Fixed the show columns from 'db_name'.'table_name' statement recognition issue
  14. 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

23 Mar 09:01
Compare
Choose a tag to compare

V4.1.0_CE

About this version

Item Description
Release time 2023-03-20
Release number V4.1.0
Commit number c3c380915f466c969c2e3fda9ad5cd7f8488c4cf

New features

  1. Support for multiple-cluster Proxyro passwords
  2. Support for rich client capabilities
  3. Support for specifying Server IP routing
  4. Support for the Latin1 character set
  5. Support for transparently passing connection attributes with special prefixes
  6. Support for distributed transaction routing
  7. Support for MySQL binlog
  8. Support for read-write separation and transaction splitting
  9. Support for mapping VIPs to Cluster/Tenant through means other than MetaDB
  10. Support for global-level weak-read and read-only configuration parameters
  11. Support for GIS, JSON data types
  12. Support for IPv6
  13. Support for accurately routing access to the sys tenant OceanBase library in QA Mode
  14. Support for ROWID routing under PS
  15. Support for multi-column partition key routing
  16. Support for obtaining column default value routing
  17. Support for calculating expressions such as nvl, sysdate, mod, to_char, and substr
  18. Support for is null and is not null routing
  19. Support for XA Start statement hold
  20. 【OB Sharding】Support for rolling upgrades
  21. 【OB Sharding】Support for SHOW TOPOLOGY syntax
  22. 【OB Sharding】Added hint support for session stickiness: route to the previous non-scan-all statement shard
  23. 【OB Sharding】Support for information_schema.partitions and information_schema.coulmns
  24. 【OB Sharding】Support for SQL-level timeout control
  25. 【OB Sharding】Single-shard support for SQL syntax: batch update, batch delete, batch insert

Improvements

  1. RTO optimization, less than 8S
  2. OB 2.0 protocol optimization, reducing synchronous statements
  3. OBProxy actively disconnects and sends Error packets to the client
  4. Supports global-level PS cache
  5. client_sock_option_flag_out default value is changed from 2 to 3
  6. obproxy_error.log will print OBServer TraceId
  7. Memory optimization, including connection memory and PS memory
  8. RTO probe optimization, considering it normal when receiving Handshake packets
  9. The default character encoding in HandShake packets is changed to 46
  10. New enable_binlog_service configuration item, default false, indicating whether to enable binlog function
  11. 【OB Sharding】Log optimization
  12. 【OB Sharding】insert/update/delete statements support multi-table syntax
  13. 【OB Sharding】scan_all optimization
  14. 【OB Sharding】Black screen DDL optimization

Bug fixes

  1. Fixed Core issue when accessing partitioned tables with RowID
  2. Fixed issue where deleting text ps under Client 2.0 protocol does not return anything
  3. Fixed issue where executing text ps under Client 2.0 protocol, then executing sql normally causes "requestId mismatch" error
  4. Fixed issue where erroneous format of err packet in internal SQL causes client to hang
  5. Fixed issue where enabling v2 protocol causes "4016" error and disconnection
  6. Fixed issue where enabling "enable_ob_protocol_v2_with_client=true" causes disconnection during secondary sql routing
  7. Fixed issue where connection id mismatch causes proxy disconnection
  8. Fixed issue where enabling compression protocol causes disconnection
  9. Fixed issue where using COM_CHANGE_USER command with username not in user_name@tenant_name format causes inability to use
  10. Fixed issue where date type is inaccurately routed in certain scenarios
  11. Fixed Core issue caused by abnormal to_timestamp parameter
  12. Fixed Core issue caused by executing anonymous blocks in ODC
  13. Fixed remote routing issue with to_date function
  14. Fixed routing inaccuracy issue with timestamp with local time zone type list partitioning under Oracle mode
  15. Fixed Core issue caused by some keywords not having pointers set
  16. Fixed issue where detection optimization causes inability to whiteness
  17. Fixed issue where SSL configuration retrieval fails
  18. Fixed issue where enabling CPU resource isolation on public cloud causes inability to connect to cluster
  19. Fixed issue where using int form for vid configuration does not take effect
  20. Fixed issue with substr() causing index out of bounds
  21. Fixed partition calculation error with range partitioning under "where c1 >20" condition
  22. Fixed issue where type conversion fails and causes inability to route when there are NULL values in list and list column partitioning
  23. Fixed Core issue introduced by global PS
  24. Fixed issue where autocommit flag in OK packet returned by set autocommit=0 is still 1
  25. Fixed issue where some fields in RespResult are not initialized in constructor, causing abnormal disconnection when used
  26. Fixed issue where XA_START hold&sync PS 2-in-1 protocol supports complex parameter types
  27. Fixed issue where XA_START hold&sync synchronous process cannot accept multiple OB20 packets
  28. Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObProxyExprCalculator::calc_partition_id_with_rowid_str
  29. Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObProto20Utils::analyze_compressed_packet_header
  30. Fixed obproxy Core issue where old database saved in proxy session is used, causing obproxy core at oceanbase::common::ObLogger::log_message_kv
  31. Fixed obproxy Core dump at oceanbase::obproxy::proxy::ObMysqlSM::setup_error_transfer
  32. Fixed obproxy binary Core dump at obproxy/obutils/ob_proxy_sql_parser.cpp:890
  33. Fixed obproxy Core dump at oceanbase::obproxy::proxy::ObMysqlSM::tunnel_handler_response_transfered
  34. Fixed Core issue with oceanbase::obproxy::proxy::ObMysqlTransact::is_internal_request
  35. Fixed odp Core issue with expression mod() calculation at oceanbase::obproxy::opsql::ObProxyExprMod::calc
  36. Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObMysqlVCTable::cleanup_entry
  37. Fixed obproxy Core issue at oceanbase::obproxy::proxy::ObMysqlTransact::is_internal_request
  38. Fixed Core issue at oceanbase::obproxy::proxy::ObProxyPartMgr::get_first_part at obproxy/proxy/route/obproxy_part_mgr.cpp
  39. Fixed obproxy core issue at ObCongestionEntry::to_string in obproxy/obutils/ob_congestion_entry.cpp
  40. Fixed a disconnect issue when executing insert statement with "binary" keyword in the "values" clause in OB Sharding
  41. Fixed an issue in OB Sharding where the "case when" condition in the "where" clause is incorrectly identified as a sharding parameter
  42. 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

01 Nov 06:28
Compare
Choose a tag to compare

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

05 Sep 12:24
Compare
Choose a tag to compare

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

01 Apr 06:55
Compare
Choose a tag to compare

RELEASE NOTE

Item Description
Release date 2022-3-30
Release number V3.2.3
Commit number 7db4636

About this version

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