OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database Proxy

V4.3.1

  • What is ODP?
  • Installation and deployment
    • Overview
    • Deploy ODP by using obd
    • Deploy ODP by using OCP
    • Deploy ODP by using the CLI
    • Deployment modes
  • Basic operations
  • Configuration parameter
    • View and modify parameters
    • Parameter summary
    • Global parameters
      • automatic_match_work_thread
      • block_thread_num
      • cache_cleaner_clean_interval
      • check_tenant_locality_change
      • client_max_connections
      • client_max_memory_size
      • client_session_id_version
      • client_sock_option_flag_out
      • client_tcp_keepcnt
      • client_tcp_keepidle
      • client_tcp_keepintvl
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • cluster_expire_time
      • config_server_refresh_interval
      • congestion_fail_window
      • congestion_failure_threshold
      • congestion_retry_interval
      • connection_diagnosis_option
      • connect_observer_max_retries
      • current_local_config_version
      • default_buffer_water_mark
      • default_inactivity_timeout
      • delay_exit_time
      • delay_update_entry_interval
      • detect_server_timeout
      • digest_sql_length
      • enable_abort_conn_info
      • enable_async_log
      • enable_async_pull_location_cache
      • enable_bad_route_reject
      • enable_binlog_service
      • enable_cached_server
      • enable_causal_order_read
      • enable_client_connection_lru_disconnect
      • enable_client_ip_checkout
      • enable_cluster_checkout
      • enable_compression_protocol
      • enable_congestion
      • enable_connection_diagnosis
      • enable_cpu_isolate
      • enable_cpu_topology
      • enable_extra_prometheus_metric
      • enable_flow_control
      • enable_full_link_trace
      • enable_full_username
      • enable_get_rslist_remote
      • enable_global_ps_cache
      • enable_index_route
      • enable_monitor_stat
      • enable_ob_protocol_v2
      • enable_ob_protocol_v2_with_client
      • enable_obproxy_rpc_service
      • enable_partition_table_route
      • enable_performance_mode
      • enable_pl_route
      • enable_primary_zone
      • enable_prometheus
      • enable_proxy_scramble
      • enable_qa_mode
      • enable_qos
      • enable_report_session_stats
      • enable_reroute
      • enable_sequence_prefetch
      • enable_sharding
      • enable_single_leader_node_routing
      • enable_standby
      • enable_stat
      • enable_strict_kernel_release
      • enable_strict_stat_time
      • enable_sync_all_stats
      • enable_syslog_file_compress
      • enable_syslog_wf
      • enable_trace
      • enable_trace_stats
      • enable_trans_detail_stats
      • enable_transaction_internal_routing
      • enable_xa_route
      • fetch_proxy_bin_random_time
      • fetch_proxy_bin_timeout
      • flow_consumer_reenable_threshold
      • flow_event_queue_threshold
      • flow_high_water_mark
      • flow_low_water_mark
      • grpc_client_num
      • grpc_thread_num
      • hot_upgrade_exit_timeout
      • hot_upgrade_failure_retries
      • hot_upgrade_rollback_timeout
      • idc_list_refresh_interval
      • ignore_local_config
      • internal_cmd_mem_limited
      • ip_listen_mode
      • ldg_info_refresh_interval
      • listen_port
      • local_bound_ip
      • local_bound_ipv6_ip
      • log_cleanup_interval
      • log_dir_size_threshold
      • log_file_percentage
      • long_async_task_timeout
      • max_log_file_size
      • max_syslog_file_count
      • max_syslog_file_time
      • mem_leak_check_class_name
      • mem_leak_check_mod_name
      • metadb_server_state_refresh_interval
      • min_congested_connect_timeout
      • min_keep_congestion_interval
      • monitor_cost_ms_unit
      • monitor_item_limit
      • monitor_item_max_idle_period
      • monitor_log_level
      • monitor_stat_dump_interval
      • monitor_stat_high_threshold
      • monitor_stat_low_threshold
      • monitor_stat_middle_threshold
      • need_convert_vip_to_tname
      • net_accept_threads
      • net_config_poll_timeout
      • normal_pl_update_threshold
      • obproxy_config_server_url
      • obproxy_sys_password
      • partition_location_expire_relative_time
      • prometheus_cost_ms_unit
      • prometheus_listen_port
      • prometheus_sync_interval
      • protocol_diagnosis_level
      • proxy_hot_upgrade_check_interval
      • proxy_id
      • proxy_info_check_interval
      • proxy_local_cmd
      • proxy_mem_limited
      • qa_mode_mock_public_cloud_slb_addr
      • qos_stat_clean_interval
      • qos_stat_item_limit
      • refresh_idc_list
      • refresh_json_config
      • refresh_rslist
      • request_buffer_length
      • rootservice_list
      • routing_cache_mem_limited
      • rpc_enable_direct_expire_route_entry
      • rpc_enable_congestion
      • rpc_enable_global_index
      • rpc_enable_force_srv_black_list
      • rpc_enable_reroute
      • rpc_enable_parallel_handler
      • rpc_enable_retry_request_info_log
      • rpc_force_srv_black_list
      • rpc_max_request_batch_size
      • rpc_listen_port
      • rpc_max_response_batch_size
      • rpc_net_timeout_base
      • rpc_max_server_table_entry_num
      • rpc_request_timeout
      • rpc_period_task_interval
      • rpc_server_entry_expire_time
      • rpc_request_timeout_delta
      • rpc_server_net_invalid_time_us
      • rpc_server_net_handler_expire_time
      • rpc_server_net_max_pending_request
      • rpc_srv_session_pool_inactive_timeout
      • rpc_support_key_partition_shard_request
      • sequence_entry_expire_time
      • sequence_fail_retry_count
      • sequence_prefetch_threshold
      • server_detect_fail_threshold
      • server_detect_mode
      • server_detect_refresh_interval
      • server_routing_mode
      • server_state_refresh_interval
      • server_tcp_init_cwnd
      • server_tcp_keepcnt
      • server_tcp_keepidle
      • server_tcp_keepintvl
      • server_tcp_user_timeout
      • shard_scan_thread_num
      • short_async_task_timeout
      • skip_proxy_sys_private_check
      • skip_proxyro_check
      • slow_proxy_process_time_threshold
      • slow_transaction_time_threshold
      • sock_option_flag_out
      • sock_packet_mark_out
      • sock_packet_tos_out
      • sock_recv_buffer_size_out
      • sock_send_buffer_size_out
      • sql_table_cache_expire_relative_time
      • sql_table_cache_mem_limited
      • sqlaudit_mem_limited
      • stack_size
      • stat_dump_interval
      • stat_table_sync_interval
      • syslog_io_bandwidth_limit
      • syslog_level
      • task_thread_num
      • tenant_location_valid_time
      • tunnel_request_size_threshold
      • username_separator
      • work_thread_num
      • xflush_log_level
    • Multi-level parameters
      • binlog_service_ip
      • compression_algorithm
      • enable_client_ssl
      • enable_cloud_full_username
      • enable_read_write_split
      • enable_server_ssl
      • enable_transaction_split
      • enable_weak_reroute
      • mysql_version
      • ob_max_read_stale_time
      • obproxy_force_parallel_query_dop
      • obproxy_read_consistency
      • obproxy_read_only
      • observer_query_timeout_delta
      • observer_sys_password
      • observer_sys_password1
      • proxy_idc_name
      • proxy_primary_zone_name
      • proxy_route_policy
      • proxy_tenant_name
      • query_digest_time_threshold
      • read_stale_retry_interval
      • rootservice_cluster_name
      • route_diagnosis_level
      • slow_query_time_threshold
      • ssl_attributes
      • target_db_server
  • Connection management
    • Principles
    • Session status synchronization
    • Configure a globally unique client session ID
    • Client session
    • Server session
    • Network connection
  • Data routing
    • Factors affecting data routing
    • ODP routing
    • Intra-tenant routing
      • Overview
      • IP address-based routing
      • Partitioned table-based routing for strong-consistency reads
      • Global index table-based routing for strong-consistency reads
      • Replicated table-based routing for strong-consistency reads
      • Primary zone-based routing for strong-consistency reads
      • Strategy-based routing
      • Distributed transaction routing
      • Rerouting
      • Forcible routing
    • Automatic routing to the primary/standby tenants
    • Read/Write separation
    • Follower latency threshold
    • Function partition key routing
      • Overview
      • String functions
      • Numeric calculation functions
      • Date calculation functions
      • FAQ
    • Character set-based routing
  • Logs
    • Overview
    • obproxy_diagnosis.log
    • obproxy_digest.log
    • obproxy_error.log
    • obproxy_slow.log
    • obproxy_stat.log
    • obproxy.log
  • Commands
    • Overview
    • Dedicated ODP commands
      • ALTER
      • KILL
      • ping
      • SHOW
    • Compatible MySQL commands
      • BINLOG
      • KILL
      • SHOW PROCESSLIST
      • SHOW RELAYLOG EVENTS
      • SHOW SLAVE HOSTS
  • High availability mechanism
    • Overview
    • High availability of ODP services
    • High availability of OceanBase Database
    • High availability testing
  • Security and protocols
  • RPC service port
  • Operation and maintenance
    • Troubleshooting logic
    • Performance analysis
    • Show Trace
    • Routing diagnostics
      • Overview
      • Obtain diagnostic information
      • Diagnostic point troubleshooting
        • Overview
        • SQL_PARSE
        • ROUTE_INFO
        • LOCATION_CACHE_LOOKUP
        • ROUTINE_ENTRY_LOOKUP_DONE
        • FETCH_TABLE_RELATED_DATA
        • TABLE_ENTRY_LOOKUP_DONE
        • EXPR_PARSE
        • CALC_ROWID
        • RESOLVE_TOKEN
        • RESOLVE_EXPR
        • CALC_PARTITION_ID
        • PARTITION_ID_CALC_DONE
        • PARTITION_ENTRY_LOOKUP_DONE
        • ROUTE_POLICY
        • CONGESTION_CONTROL
        • RETRY
        • HANDLE_RESPONSE
      • Examples
    • Memory leak diagnostics
    • Connection diagnostics
  • Release Notes
    • Versioning rules
    • Enterprise Edition
      • V4.3
        • ODP Enterprise Edition V4.3.1
        • ODP Enterprise Edition V4.3.0
      • V4.2
        • ODP Enterprise Edition V4.2.3
        • ODP Enterprise Edition V4.2.2
        • ODP Enterprise Edition V4.2.1
      • V4.1
        • ODP Enterprise Edition V4.1.0
      • V4.0
        • ODP Enterprise Edition V4.0.0
      • V3.2
        • ODP Enterprise Edition V3.2.11
        • ODP Enterprise Edition V3.2.3.5
    • Community Edition
      • V4.3
        • ODP Community Edition V4.3.1
      • V4.2
        • ODP Community Edition V4.2.3
        • ODP Community Edition V4.2.1
        • ODP Community Edition V4.2.0
      • V4.1
        • ODP Community Edition V4.1.0
      • V4.0
        • ODP Community Edition V4.0.0

Download PDF

What is ODP? Overview Deploy ODP by using obd Deploy ODP by using OCP Deploy ODP by using the CLI Deployment modes Basic operations View and modify parameters Parameter summary automatic_match_work_thread block_thread_num cache_cleaner_clean_interval check_tenant_locality_change client_max_connections client_max_memory_size client_session_id_version client_sock_option_flag_out client_tcp_keepcnt client_tcp_keepidle client_tcp_keepintvl client_tcp_user_timeout cluster_count_high_water_mark cluster_expire_time config_server_refresh_interval congestion_fail_window congestion_failure_threshold congestion_retry_interval connection_diagnosis_option connect_observer_max_retries current_local_config_version default_buffer_water_mark default_inactivity_timeout delay_exit_time delay_update_entry_interval detect_server_timeout digest_sql_length enable_abort_conn_info enable_async_log enable_async_pull_location_cache enable_bad_route_reject enable_binlog_service enable_cached_server enable_causal_order_read enable_client_connection_lru_disconnect enable_client_ip_checkout enable_cluster_checkout enable_compression_protocol enable_congestion enable_connection_diagnosis enable_cpu_isolate enable_cpu_topology enable_extra_prometheus_metric enable_flow_control enable_full_link_trace enable_full_username enable_get_rslist_remote enable_global_ps_cache enable_index_route enable_monitor_stat enable_ob_protocol_v2 enable_ob_protocol_v2_with_client enable_obproxy_rpc_service enable_partition_table_route enable_performance_mode enable_pl_route enable_primary_zone enable_prometheus enable_proxy_scramble enable_qa_mode enable_qos enable_report_session_stats enable_reroute enable_sequence_prefetch enable_sharding enable_single_leader_node_routing enable_standby enable_stat enable_strict_kernel_release enable_strict_stat_time enable_sync_all_stats enable_syslog_file_compress enable_syslog_wf enable_trace enable_trace_stats enable_trans_detail_stats enable_transaction_internal_routing enable_xa_route fetch_proxy_bin_random_time fetch_proxy_bin_timeout flow_consumer_reenable_threshold flow_event_queue_threshold flow_high_water_mark flow_low_water_mark grpc_client_num grpc_thread_num hot_upgrade_exit_timeout hot_upgrade_failure_retries hot_upgrade_rollback_timeout idc_list_refresh_interval ignore_local_config
OceanBase logo

The Unified Distributed Database for the Al Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.1
iconOceanBase Database Proxy
V 4.3.1
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.3
  • V 4.2.2
  • V 4.2.0 and earlier

ODP Enterprise Edition V4.3.1

Last Updated:2025-05-16 10:06:36  Updated
share
What is on this page
V4.3.1 BP4 hotfix3
Version information
Bug fixes
V4.3.1 BP4 hotfix2
Version information
Overview
Bug fixes
V4.3.1 BP4 hotfix1
Version information
Bug fixes
V4.3.1 BP4
Version information
Bug fixes
V4.3.1 BP3
Version information
Overview
Bug fixes
V4.3.1 BP2
Version information
Bug fixes
V4.3.1 BP1 hotfix2
Version information
Bug fixes
V4.3.1 BP1 hotfix1
Version information
Bug fixes
V4.3.1 BP1
Version information
Overview
Bug fixes
V4.3.1
Version information
Overview
Key features
Parameter changes
Supported OceanBase Database versions
Bug fixes

folded

share

V4.3.1 BP4 hotfix3

Version information

  • Release date: April 22, 2025

  • Version: V4.3.1 BP4 hotfix3

  • RPM version: obproxy-4.3.1.4-282025042210

Bug fixes

  • Fixed the issue where disconnection occurs because the coordinator is incorrectly identified.

  • Fixed memory issues caused by protocols.

  • Fixed the issue where the execution result of the select proxy_version() command is 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

Overview

  • Binary Optimization and Layout Tool (BOLT) is newly supported for optimization.

  • The default value of enable_single_leader_node_routing is changed to False.

Bug fixes

  • Fixed the issue where ODP reports the error errno = 9747 during a Sysbench benchmark.

  • Fixed the issue where a core dump occurs for binlog requests due to disconnection from the OBServer node.

V4.3.1 BP4 hotfix1

Version information

  • Release date: March 05, 2025

  • Version: V4.3.1 BP4 hotfix1

  • RPM version: obproxy-4.3.1.4-182025030514

Bug fixes

  • Fixed the issue where ODP does not return a response occasionally.

  • Fixed the issue where an error is returned when a put operation is executed on a non-partitioned table in HBase.

  • Fixed the issue where no log is recorded for a failure to start ODP by using an IPv6 address.

V4.3.1 BP4

Version information

  • Release date: January 24, 2025

  • Version: V4.3.1 BP4

  • RPM version: obproxy-4.3.1.4-62025012317

Bug fixes

  • Fixed the issue where disconnection occasionally occurs during the execution of the show master status command, after the Binlog service is enabled.

  • Fixed the issue where, after an SQL statement is executed, the DB time recorded in obproxy_digest logs is inaccurate.

  • Fixed the issue where the monitoring item odp_sql_cost_total of Prometheus has negative values.

  • Fixed the issue where an access error is returned because the communication protocol is not aligned between ODP and OceanBase Database.

  • Fixed the issue where a core dump occurs during a hot restart of ODP.

  • Fixed the issue where the number of scanners returned by getScanners of HBase is incorrect when ODP is used to connect to a cluster.

  • Fixed the issue where an error is returned during the execution of PL blocks.

  • Fixed the issue where a core dump occurs in ODP due to a cs_id allocation failure.

  • Fixed the issue where an error indicating no dependency is returned during the execution of the obproxy -V command in a certain environment.

  • Fixed the issue where the proxy_sessionid parameter in the result set of show proxysession attribute xx has negative values.

  • Fixed the issue where the proxy_session_id parameter in ODP logs has negative values.

V4.3.1 BP3

Version information

  • Release date: November 15, 2024

  • Version: V4.3.1 BP3

  • RPM version: obproxy-4.3.1.0-712024111215

Overview

A new method is supported for identifying logins to the primary/standby tenants based on the service name. Specifically, if the login connection string contains the keyword SERVICE, followed by the tenant name, OceanBase Database Proxy (ODP) identifies the login as a primary/standby tenant login.

Bug fixes

  • Fixed the issue where routing is inaccurate when the tablet IDs (tablet_id) of partitioned tables of different tenants in one cluster are the same.

  • Fixed the issue related to generated column evaluation.

  • Fixed the issue where orderliness is maintained only within individual partitions when connection through ODP is used in HBase reverse scans.

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 the issue where a timeout error occurs during the processing of the column family name in a cross-partition batch put operation through an ObTableLSOpRequest request.

  • Fixed the issue where, if lower_case_table_names = 0 is configured in a tenant and the database name contains both uppercase and lowercase letters, the business access connection is interrupted.

  • Fixed the issue where, if lower_case_table_names = 0 is configured in a tenant, requests cannot be accurately routed to some databases or tables.

V4.3.1 BP1 hotfix2

Version information

  • Release date: September 05, 2024

  • Version: V4.3.1 BP1 hotfix2

  • RPM version: obproxy-4.3.1.0-602024090512

Bug fixes

  • Fixed the issue where the execution hangs if the LOAD DATA LOCAL INFILE statement is executed multiple times in a connection.

  • Fixed the issue where connection through ODP fails when an IPv6 address is specified for OceanBase Database deployment.

  • Fixed the issue where an error is reported indicating that the GTID_SUBTRACT function does not exist.

  • Fixed the memory leak issue of the ObLocationTenantInfo module.

  • Fixed issues such as memory exceptions and program crashes caused due to a lack of protective measures against abnormal logic such as timeouts for queries on the sequence table.

  • Fixed the issue where connection through ODP is interrupted when all parameters related to the Prepared Statement (PS) protocol of the MySQL driver of a later version are set to null.

V4.3.1 BP1 hotfix1

Version information

  • Release date: August 13, 2024

  • Version: V4.3.1 BP1 hotfix1

  • RPM version: obproxy-4.3.1.0-522024080914

Bug fixes

  • Fixed the issue where the Binlog service cannot be accessed after a domain name is configured.

  • Fixed the issue where the system is restarted because a core dump is generated during DML stress testing by using Sysbench.

V4.3.1 BP1

Version information

  • Release date: August 01, 2024

  • Version: V4.3.1 BP1

  • RPM version: obproxy-4.3.1.0-482024073020

Overview

  • Substring-based KEY partition routing is supported.

  • A generated column obtained by using the SUBSTRING_INDEX function can be used as a partitioning key in HBase.

Bug fixes

  • Fixed the issue where a binlog does not contain the connection attribute.

  • Fixed the issue where, after the connection for executing the COM_STMT_SEND_LONG_DATA command is terminated, ODP must terminate the connection with the client.

V4.3.1

Version information

  • Release date: July 01, 2024

  • Version: V4.3.1

  • RPM version: obproxy-4.3.1.0-402024062810

Overview

ODP V4.3.1 is a Long-Term Support (LTS) version of the ODP V4.3.x series and is recommended for on-cloud and on-premises business in a proof of concept (POC) test or production environment. The SQL proxy supports many new routing features, such as automatic routing to the primary/standby tenants, primary zone-based routing, ASCII character set-based routing, and utf8mb4_0900_ai_ci collation-based routing. It provides the binlog_service_ip parameter that supports multiple addresses or domain names. Furthermore, it optimizes the routing strategies to significantly improve the performance in standalone deployment scenarios. The remote procedure call (RPC) proxy supports empty column families for the HBase model, improves the ObTableLSOpRequest request type, and optimizes the parsing logic of the request protocol and the mode to batch obtain routing information.

Key features

SQL proxy

Automatic routing to the primary/standby tenants

In the primary/standby solution of OceanBase Database V2.x and V3.x, a primary/standby cluster pair is identified by the cluster name. By default, you log in to the primary cluster. If a primary/standby switchover occurs, ODP can automatically route a connection request to the new primary cluster. The cluster name remains unchanged and therefore the login connection string does not need to be modified. In OceanBase Database V4.x, the Physical Standby Database solution is provided at the tenant level to make full use of the multitenancy feature. In other words, the PRIMARY and STANDBY roles are assigned to tenants instead of clusters. Two different tenants can be in a primary/standby relationship. The primary/standby relationships of tenants are not recorded in the database but maintained in OceanBase Cloud Platform (OCP).

After a primary/standby switchover occurs, you need to modify the tenant name in the connection string to ensure normal login, which causes inconveniences. Starting from V4.3.1, ODP interacts with the OCP API to internally record the tenant-level primary/standby relationships, associates with different tenants, and manages the tenants based on service names to mask the tenant-level primary/standby relationships from users. This implements the same effects as automatic routing to the primary/standby clusters in OceanBase Database V2.x and V3.x.

For more information about automatic routing to the primary/standby tenants, see Automatic routing to the primary/standby tenants.

Primary zone-based routing

In earlier ODP versions, you can use the proxy_primary_zone_name parameter to specify a single zone so that all requests received by ODP are routed to the specified zone. In scenarios where OceanBase Database supports both online analytical processing (OLAP) and online transaction processing (OLTP) loads, ODP must route the analysis requests to multiple OLAP replicas for load balancing. In ODP V4.3.1, you can set proxy_primary_zone_name to multiple zones.

Support for more character sets and collations

OceanBase Database V4.2.4 supports the ASCII and TIS620 character sets and the utf8mb4_0900_ai_ci collation. Accordingly, ODP V4.3.1 implements routing support for the character sets and collation.

Multiple addresses and domain names supported for binlog_service_ip

In the interaction architecture between the Binlog service and ODP, each time when ODP sends a binlog-related SQL request or binlog dump request, it needs to obtain the address of the Binlog service cluster from the binlog_service_ip parameter. In earlier ODP versions, the binlog_service_ip parameter supports only one IP address and does not support domain names, which cannot meet the requirements of some high availability scenarios. In ODP V4.3.1, the binlog_service_ip parameter supports multiple domain names and addresses to implement high availability in the following scenarios:

  • The load balancer (LB) has different physical IP addresses in different zones.

  • Automatic recovery is supported during LB switching.

Performance optimization

ODP is a dedicated service proxy for OceanBase Database. It aims to cope with multi-node routing for a distributed cluster and its routing strategies have obvious benefits in distributed scenarios. However, in a standalone scenario, the routing is simple and complex routing logic is unnecessary. Therefore, in ODP V4.3.1, the routing logic is optimized to adapt to standalone scenarios, thereby improving the routing performance.

ODP V4.3.1 is also optimized in terms of system compilation, further improving the performance.

In standalone mode, the routing performance of ODP V4.3.1 is improved by 30% to 50% in comparison with ODP V4.3.0.

RPC proxy

ObTableLSOpRequest request type improvement

ODP V4.3.0 provides a new single-operation format and a corresponding batch-operation format to carry the semantics of checkAndInsUp and support ObTableLSOpRequest requests. ODP V4.3.1 supports ObTableLSOpRequest requests with multiple types of table operations and division of subrequests by log stream, and optimizes the performance.

Support of empty column families for the HBase mode

The HBase API of OceanBase Database supports only a single column family. The concept of table group is introduced to support more column families and avoid modifying customer code for compatibility in some cases, for example, the client passes in an empty column family for scan. By default, a table in HBase corresponds to a table group in OceanBase Database, and a column family in HBase corresponds to a table in OceanBase Database. In a request sent by a client to ODP, the table name corresponds to the current table group name. ODP needs to support table group-based routing so as to support the new HBase mode.

Parameter changes

Parameter Change type Description
enable_single_leader_node_routing New Specifies whether to apply more efficient routing rules when the tenant is deployed in leader concentration mode.
enable_full_link_trace New Specifies whether to enable end-to-end tracing for query execution.
rpc_max_response_batch_size New Specifies the maximum number of responses allowed in a single batch.
rpc_max_request_batch_size Modified The default value of this parameter has been changed from 5 to 20 since ODP V4.3.1.
enable_standby Modified Specifies whether to enable routing to the primary/standby tenants. This parameter was introduced in ODP V4.3.1.
proxy_primary_zone_name Modified You can configure multiple zones for this parameter in ODP V4.3.1 and later.
binlog_service_ip Modified You can configure multiple IP addresses or domain names for this parameter in ODP V4.3.1 and later.
enable_strict_stat_time Modified The default value of this parameter has been changed from True to False since ODP V4.3.1.
proxy_mem_limited Modified The value range of this parameter has been changed from [100MB, 100G] to [100MB, +∞) since ODP 4.3.1.

Supported OceanBase Database versions

ODP supports OceanBase Database V4.x and OceanBase Database V3.x and earlier. The recommended ODP version varies based on the OceanBase Database version.

  • For OceanBase Database V3.x and earlier, ODP V3.2.11 is recommended.

  • For OceanBase Database V4.x, ODP V4.3.1, which is an LTS version, is recommended.

Bug fixes

  • Fixed the issue where the execution of the BEGIN statement by the JDBC driver is stuck when both the PreparedStatement and PrepareExecute protocols are enabled for ODP to connect to an OceanBase cluster.

  • Fixed the issue where an error is constantly returned for subsequent retries if an attempt to access the standby cluster fails in a primary/standby cluster scenario.

Previous topic

Versioning rules
Last

Next topic

ODP Enterprise Edition V4.3.0
Next
What is on this page
V4.3.1 BP4 hotfix3
Version information
Bug fixes
V4.3.1 BP4 hotfix2
Version information
Overview
Bug fixes
V4.3.1 BP4 hotfix1
Version information
Bug fixes
V4.3.1 BP4
Version information
Bug fixes
V4.3.1 BP3
Version information
Overview
Bug fixes
V4.3.1 BP2
Version information
Bug fixes
V4.3.1 BP1 hotfix2
Version information
Bug fixes
V4.3.1 BP1 hotfix1
Version information
Bug fixes
V4.3.1 BP1
Version information
Overview
Bug fixes
V4.3.1
Version information
Overview
Key features
Parameter changes
Supported OceanBase Database versions
Bug fixes