V4.3.1 BP11
Version information
Release date: January 30, 2026
Version: V4.3.1 BP11
RPM version: 4.3.1.11-32026012914
Bug fixes
- Fixed the issue where the Core fails to upgrade gRPC.
- Fixed the issue where, after using the replace LS command to restore user log streams in a single-replica MySQL tenant, the tenant fails to log in through ODP because the routing cache of ODP is not refreshed.
V4.3.1 BP10
Version information
Release date: January 9, 2026
Version: V4.3.1 BP10
RPM version: 4.3.1.10-112026010714
Bug fixes
- Fixed the memory leak issue in the composite single operation scenario for the OBKV-Table model and the batch put scenario for the OBKV-HBase model.
- Fixed the memory leak issue when the QoS feature is enabled.
- Fixed the issue where the
rpc_current_sessionmonitoring item does not contain tenant and cluster information. - Fixed the issue where ODP logs are not controlled by the log configuration (
syslog_level), leading to potential log loss.
V4.3.1 BP9
Version information
Release date: November 24, 2025
Version: V4.3.1 BP9
RPM version: 4.3.1.9-32025112117
Bug fixes
- Fixed the issue where the ODP incorrectly parsed
from xxxin comments, usingxxxas the table name, leading to routing errors. - Fixed the disconnection issue caused by protocol flag errors in Erlang version drivers.
- Fixed the core issue that occurred during the ODP startup process when retrieving machine IP information.
V4.3.1 BP8
Version information
Release date: October 24, 2025
Version number: V4.3.1 BP8
RPM version number: 4.3.1.8-22025102319
Release purpose
- Supports synonym routing with global indexes.
- Adapts to heap table routing.
Bug fixes
- Fixed the issue where the ODP part of the full trace information is not displayed when the
show tracecommand is used. - Fixed the issue where the
odp_current_sessionmonitoring item shows negative values when logging in withservice_name, leading to OCP alerts for exceeding the connection limit. - Fixed the issue where the error
Unknown prepared statement handleoccurs when executing the ps protocol. - Fixed the issue where partition information retrieval fails for multi-column partitioned tables, leading to inaccurate routing.
V4.3.1 BP7
Version information
Release date: September 19, 2025
Version number: V4.3.1 BP7
RPM version number: 4.3.1.7-42025091914
Release purpose
Added the rpc_enable_sub_req_log parameter to control whether to print OBKV subrequest logs that meet the printing conditions in the obproxy_slow.log and obproxy_digest.log logs.
Bug fixes
- Fixed the issue where ODP abnormally exits in Binlog access mode.
- Fixed the issue where weak read queries retrieve deleted data from the metaDB.
- Fixed the issue where a loop scan_all operation causes a disconnection.
- Fixed the issue where column names containing the
#character in DML statements cause routing errors. - Fixed the issue where executing an SQL statement starting with "hint" causes an ODP core dump.
- Fixed the issue where the getaddrinfo system call returning more than 64 IP addresses causes an ODP core dump.
- Fixed the issue where a request larger than 4K in a transaction causes a disconnection during parsing and retry.
- Fixed the issue where data import gets stuck when using the direct load SDK.
V4.3.1 BP6
Version information
Release date: July 25, 2025
Version: V4.3.1 BP6
RPM version: 4.3.1.6-22025072510
Release purpose
The enable_crash_error_log parameter is added to specify whether to intercept the CRASH signal. For more information, see enable_crash_error_log.
Bug fixes
Fixed the issue where the ODP service fails to start due to the RPC port being occupied.
Fixed the issue where, in a multi-OBServer node scenario, an error is returned when the COM_STMT_RESET statement is executed after a session network disconnection.
Fixed the issue where an exception is triggered when the table name in a DML statement is a keyword, causing ODP to fail to parse the table name.
Fixed the issue where ODP becomes blocked (hung) when the service_name request exceeds 16 MB, eventually leading to a disconnection.
V4.3.1 BP5
Version Information
Release Date: 2025 May 23
Version: V4.3.1 BP5
RPM version: obproxy-4.3.1.5-62025052214
Objective of this release
The multi-query transaction started by the BEGIN statement supports routing based on the first SQL statement following the BEGIN statement.
Fixing issues
Fixed the issue where downstream requests still establish long connections after the Binlog instance is dropped.
Fixes an issue where the VIP configuration settings issued by the AWS PPV2 were not effective during connection establishment.
Fixed the issue where ODP failed to generate the coredump file.
Fixed an issue in which an ODPS connection to an OceanBase cluster fails during the execution of a long anonymous block in the two-in-one protocol.
Fixed the issue where a
-4016error occurred during partition calculation when accessing an OceanBase Database 3.x cluster using ODP V4.3.1.
V4.3.1 BP4 hotfix3
Version information
Release date: April 22, 2025
Version number: V4.3.1 BP4 hotfix3
RPM version number: obproxy-4.3.1.4-282025042210
Bug fixes
Fixed the issue where the coordinator was incorrectly judged, leading to disconnection.
Fixed the memory issue caused by the protocol.
Fixed the issue where the result of the
select proxy_version()command was inaccurate.
V4.3.1 BP4 hotfix2
Version information
Release date: March 21, 2025
Version: V4.3.1 BP4 hotfix2
RPM version: obproxy-4.3.1.4-242025032019
Release purpose
Optimized the execution of Bolt.
Changed the default value of
enable_single_leader_node_routingtoFalse.
Bug fixes
Fixed the issue where an ODP error
errno = 9747occurred during sysbench benchmarking.Fixed the issue where a Binlog request core occurred due to a disconnection from an OBServer node.
V4.3.1 BP4 hotfix1
Version information
Release date: March 5, 2025
Version number: V4.3.1 BP4 hotfix1
RPM version number: obproxy-4.3.1.4-182025030514
Bug fixes
Fixed the issue where ODP occasionally does not return a response.
Fixed the issue where an error is reported when a non-partitioned table in HBase executes a put operation.
Fixed the issue where ODP fails to start through IPv6 and the log is not printed.
V4.3.1 BP4
Version information
Release date: January 24, 2025
Version number: V4.3.1 BP4
RPM version number: obproxy-4.3.1.4-62025012317
Bug fixes
Fixed the issue where the
show master statuscommand occasionally disconnects after Binlog is enabled for the tenant.Fixed the issue where the OceanBase Database execution time recorded in the
obproxy_digestlog is inaccurate after SQL execution is successful.Fixed the issue where the
odp_sql_cost_totalmonitoring item in Prometheus has a negative statistical value.Fixed the issue where access errors occur due to misalignment of communication protocols between ODP and OceanBase Database.
Fixed the issue where a core is generated during hot restart of ODP.
Fixed the issue where the number of returned results from the hbase getscanners command is incorrect when connecting to the cluster through ODP.
Fixed the issue where errors occur during PL block execution.
Fixed the issue where a core is generated in ODP due to failed cs_id allocation.
Fixed the issue where the command obproxy -V returns no dependencies in specific environments.
Fixed the issue where the
proxy_sessionidvalue in the result set ofshow proxysession attribute xxis negative.Fixed the issue where the
proxy_session_idvalue in the ODP log is negative.Fixed several memory corruption issues identified by ASAN.
V4.3.1 BP3
Version information
Release date: November 15, 2024
Version number: V4.3.1 BP3
RPM version number: obproxy-4.3.1.0-712024111215
Purpose of the release
Supports new login identification methods for Service Name and adds the Service keyword for tenant names.
Bug fixes
Fixed the issue where partitioned tables in multiple tenants with the same tablet_id caused inaccurate routing.
Fixed the issue with computed columns.
Fixed the issue where, during an HBase reverse scan, using ODP caused the data within a single partition to be ordered while the overall data remained unordered.
V4.3.1 BP2
Version information
Release date: September 27, 2024
Version: V4.3.1 BP2
RPM version: obproxy-4.3.1.0-662024092710
Bug fixes
Fixed an exception in the processing result of batch put requests in the lsop request.
Fixed the issue where business access was disconnected when the tenant specified
lower_case_table_names = 0and the database name used mixed case.Fixed the issue where some database and table names could not be accurately routed when the tenant specified
lower_case_table_names = 0.
V4.3.1 BP1 hotfix2
Version information
Release date: September 5, 2024
Version number: V4.3.1 BP1 hotfix2
RPM version number: obproxy-4.3.1.0-602024090512
Bug fixes
Fixed the issue where multiple executions of the load data local infile command caused the connection to hang.
Fixed the issue where the ODP connection failed when OceanBase Database was deployed using IPv6.
Fixed the issue where the GTID_SUBTRACT function was missing.
Fixed the memory leak issue in the ObLocationTenantInfo module.
Fixed the memory exception and program crash issues in sequence table queries due to the lack of defense mechanisms for timeout and other exceptions.
Fixed the issue where the ODP connection was disconnected when all parameters of the PS protocol of the high version MySQL driver were null.
V4.3.1 BP1 hotfix1
Version information
Release date: August 13, 2024
Version number: V4.3.1 BP1 hotfix1
RPM version number: obproxy-4.3.1.0-522024080914
Bug fixes
Fixed the issue where setting the domain name caused Binlog access to fail.
Fixed the issue where using Sysbench for DML stress testing caused a core dump and restart.
V4.3.1 BP1
Version information
Release date: August 1, 2024
Version number: V4.3.1 BP1
RPM version number: obproxy-4.3.1.0-482024073020
Release purpose
Supports key partition routing based on substring.
Supports using substring_index-generated columns as partition keys for HBase partitions.
Bug fixes
Fixed the issue where binlog does not carry connect attributes.
Fixed the issue where, after a connection is disconnected due to COM_STMT_SEND_LONG_DATA, the ODP needs to disconnect the client connection.
V4.3.1
Version information
Release date: July 1, 2024
Version number: V4.3.1
RPM version number: obproxy-4.3.1.0-402024062810
Version location
ODP V4.3.1 is a long-term support (LTS) version of the ODP 4.3.x series. It is recommended for use in POC testing and production environments for both cloud and on-premises businesses. The SQL proxy now supports features such as automatic routing between primary and standby databases, routing to multiple zones, ASCII character set routing, and utf8mb4_0900_ai_ci collation routing. It also supports the binlog_service_ip parameter for domain names and multiple addresses. Additionally, for single-machine deployment scenarios, the routing strategy has been optimized to significantly improve performance. The RPC proxy now supports the HBase Empty Family feature, enhances the ObTableLSOps request types, and optimizes the request protocol parsing logic and batch retrieval of routing information.
Key features
SQL proxy
Automatic routing between primary and standby databases
In OceanBase Database 2.x/3.x, the CLUSTER_NAME parameter corresponds to a group of primary and standby clusters. By default, users log in to the primary cluster. If a primary-standby switch occurs, the ODP automatically routes to the new primary cluster without changing the CLUSTER_NAME parameter, so no modifications to the login connection string are required. In OceanBase Database 4.x, to fully leverage the multi-tenant architecture, physical standby databases are provided on a tenant basis rather than at the cluster level. This means that the primary or standby role information belongs to the tenant, not the cluster. Two different tenants can be primary and standby to each other, and the primary-standby relationship is maintained externally through components like OCP, rather than being recorded in the database.
After a primary-standby switch, the tenant name in the connection string must be updated for the application to log in normally, which can impact the business. To address this, starting from ODP 4.3.1, ODP interacts with OCP to internally record the primary-standby relationships at the tenant level. This information is then managed through the service_name parameter in the connection string, shielding the user from tenant-level primary-standby awareness and achieving the same automatic routing effect as in OceanBase Database 2.x/3.x.
For more information about automatic routing between primary and standby tenants, see Automatic routing between primary and standby tenants.
Routing to multiple zones
The proxy_primary_zone_name parameter in ODP supports specifying a single zone for routing, directing all requests received by ODP to the specified zone. OceanBase Database supports mixed OLAP and OLTP workloads, requiring ODP to route analytical requests to multiple OLAP replicas for load balancing. Therefore, ODP V4.3.1 extends the proxy_primary_zone_name parameter to support routing to multiple zones.
Support for additional character sets and collations
OceanBase Database 4.2.4 supports the ASCII, TIS620 character sets, and the utf8mb4_0900_ai_ci collation. ODP V4.3.1 also supports routing for these character sets and collations.
Support for domain names and multiple addresses for binlog_service_ip
In the interaction architecture between the Binlog service and ODP, ODP sends Binlog-related SQL requests or Binlog Dump requests by first obtaining the corresponding Binlog service cluster address through the binlog_service_ip parameter and then sending the request to the specific Binlog service cluster. Currently, the binlog_service_ip parameter only supports a single IP address and does not support domain names, limiting its functionality in high-availability scenarios. ODP V4.3.1 supports domain names and multiple addresses, enabling high availability in the following scenarios:
Load balancing (LB) addresses have different physical IP addresses in different zones
Automatic recovery capability during LB switching
Performance optimization
Single-machine deployment mode: ODP is a dedicated service proxy for OceanBase Database, with the core goal of solving routing issues in distributed clusters with multiple nodes. The routing strategy has significant advantages in distributed scenarios, but in single-machine scenarios, the routing requirements are simple, and complex routing logic is unnecessary. Therefore, ODP 4.3.1 optimizes the routing logic for single-machine scenarios to improve routing performance.
Compilation optimization: ODP V4.3.1 includes some system compilation optimizations to further enhance performance.
In single-machine mode, ODP V4.3.1 improves routing performance by 30% to 50% compared to ODP V4.3.0.
RPC proxy
Enhanced support for ObTableLSOps requests
ODP V4.3.0 introduced a new single-operation format and corresponding batch format to support the checkAndInsUp semantics and ObTableLSOps requests. ODP V4.3.1 further enhances this by supporting multiple TableOperations in LSOP requests, subrequest division based on log streams, and optimized performance.
HBase Empty Family
Currently, OceanBase Database's HBase API only supports single column families. To better support multi-column families and ensure compatibility without modifying client code in certain scenarios, such as when a client scan request includes an empty column family, the concept of table groups is introduced in HBASE mode. By default, an HBASE table corresponds to a table group in OceanBase Database, and an HBASE column family corresponds to a table in OceanBase Database. This approach is used to maintain compatibility with HBASE column families. In this case, the table name in the request sent from the client to ODP corresponds to the current table group name. ODP needs to support routing based on table groups to accommodate the new HBASE mode.
Configuration changes
Parameter |
Change type |
Description |
|---|---|---|
| enable_single_leader_node_routing | New | Controls whether to use more efficient routing rules when tenants are deployed in a primary-standby cluster. |
| enable_full_link_trace | New | Controls whether to use full-link tracing to track query execution. |
| rpc_max_response_batch_size | New | Sets the maximum number of batches in a single response. |
| rpc_max_request_batch_size | Changed | The default value of this parameter was updated from 5 to 20 starting from OceanBase Database 4.3.1. |
| enable_standby | Changed | Starting from OceanBase Database 4.3.1, this parameter controls whether to enable primary-standby tenant routing. |
| proxy_primary_zone_name | Changed | Starting from OceanBase Database 4.3.1, this parameter allows configuring multiple zone names. |
| binlog_service_ip | Changed | Starting from OceanBase Database 4.3.1, this parameter allows configuring multiple IP addresses or domains. |
| enable_strict_stat_time | Changed | Starting from OceanBase Database 4.3.1, the default value of this parameter was updated from True to False. |
| proxy_mem_limited | Changed | Starting from OceanBase Database 4.3.1, the value range of this parameter was updated from [100MB, 100G] to [100MB, +∞). |
Supported OceanBase Database versions
OceanBase Database 4.x, 3.x, and earlier versions are supported. The recommended ODP version depends on the OceanBase Database version used:
For OceanBase Database 3.x and earlier versions, ODP V3.2.11 is recommended.
For OceanBase Database 4.x, ODP V4.3.1 (LTS) is recommended.
Bug fixes
Fixed an issue where JDBC would hang when executing the begin statement in the PS/2 protocol when connecting to a cluster.
Fixed an issue where, in a primary-standby database scenario, after the first access to the standby cluster fails, subsequent accesses would continue to fail with errors.
