OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Database Proxy

V4.3.4
  • 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
      • rpc_client_net_write_timeout
      • routing_cache_mem_limited
      • rpc_async_task_thread_num
      • rpc_client_net_read_timeout
      • rpc_enable_direct_expire_route_entry
      • rpc_enable_congestion
      • rpc_enable_force_srv_black_list
      • rpc_enable_global_index
      • rpc_enable_parallel_handler
      • rpc_enable_reroute
      • rpc_enable_retry_request_info_log
      • rpc_force_srv_black_list
      • rpc_max_response_batch_size
      • rpc_listen_port
      • rpc_max_request_batch_size
      • rpc_max_server_table_entry_num
      • rpc_net_timeout_base
      • rpc_redis_operation_timeout
      • rpc_redis_default_user_name
      • rpc_request_timeout
      • rpc_redis_default_database_name
      • rpc_period_task_interval
      • rpc_request_timeout_delta
      • rpc_server_entry_expire_time
      • rpc_server_net_invalid_time_us
      • rpc_server_net_handler_expire_time
      • rpc_service_mode
      • rpc_server_net_max_pending_request
      • rpc_srv_session_pool_inactive_timeout
      • rpc_sub_request_isolation_mode
      • rpc_support_key_partition_shard_request
      • rpc_sub_request_weight
      • sequence_entry_expire_time
      • sequence_fail_retry_count
      • sequence_prefetch_threshold
      • server_detect_fail_threshold
      • server_detect_mode
      • server_detect_refresh_interval
      • server_protocol
      • 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_check_cluster_name
      • enable_client_ssl
      • enable_cloud_full_username
      • enable_read_write_split
      • enable_rpc_throttle
      • enable_server_ssl
      • enable_standby_read_write_split
      • 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
      • rpc_request_throttle_waiting_time
      • rpc_throttle_limit_qps_qa
      • route_target_replica_type
      • rpc_throttle_trigger_percentage
      • slow_query_time_threshold
      • sql_firewall_config
      • ssl_attributes
      • target_db_server
      • weakread_weight_zone
  • 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
      • Weight-based load-balanced 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
    • Partitioning key types supported for routing by ODP
  • 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
        • SHOW
        • SHOW PROXYPS
    • 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
  • OBKV
    • RPC service port
    • Throttling
  • Security and protocols
  • 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
    • Prometheus monitoring
    • SQL firewall
  • Release Notes
    • Versioning rules
    • Enterprise Edition
      • V4.3
        • ODP Enterprise Edition V4.3.4
        • ODP Enterprise Edition V4.3.3
        • ODP Enterprise Edition V4.3.2
        • 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 Enterprise Edition V4.3.4
        • ODP Community Edition V4.3.3
        • ODP Community Edition V4.3.2
        • 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

Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.4

ODP Community Edition V4.3.3

Last Updated:2026-10-08 06:54:03

V4.3.3
Version information
Overview
Key features
Compatibility changes
Supported OceanBase Database versions
Bug fixes

V4.3.3

Version information

  • Release date: January 24, 2025

  • Version: V4.3.3

  • RPM version: obproxy-ce-4.3.3.0-5

Overview

OceanBase Database Proxy (ODP) V4.3.3 is the latest 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 allows an on-cloud user to enable read/write splitting between the primary and standby tenants by using one connection string, thus enriching the capabilities of the primary and standby tenants. Routing capabilities are improved in the following ways: replicated table-based routing and routing for weak-consistency reads within a transaction are optimized to meet your requirements for routing of special tables in specific scenarios; more character sets and collations such as utf16le, sjis, dec8, utf8mb4_german2_ci, and HKSCS are supported; accurate routing is realized for the TO_DAYS() and TIMESTAMP expressions. Abundant monitoring information such as the prepared statement (PS) cache and routing information improves the usability of diagnostics. Several protocol-related issues are fixed to improve stability. ODP V4.3.3 is fully compatible with Rocky Linux 9.

Key features

SQL proxy

Read/Write splitting between the primary and standby tenants

OceanBase Cloud supports geo-disaster recovery for the clusters where primary and standby tenants reside. However, it requires you to switch between domain names in scenarios other than database switchover, which is less flexible compared to ODP for off-cloud users. As more on-cloud users adopt the primary/standby architecture for tenants, capabilities of this architecture must be improved to support read/write splitting and primary/standby switchover with one connection string.

ODP V4.3.3 supports read/write splitting between the primary and standby tenants, allowing automatic login to on-premises clusters where the primary and standby tenants reside without modifying the login connection string and automatic read/write splitting between these clusters. To reduce the cross-region bandwidth costs, a compression protocol is used between ODP and OceanBase Database.

Read/Write splitting between the primary and standby tenants applies only to the primary/standby tenant architecture of OceanBase Database V4.x, to ensure ultimate consistency for weak-consistency read requests.

Routing improvement
  • Support for more character sets

    ODP supports accurate routing of SQL requests that use the following character sets and collations: utf16le, sjis, dec8, utf8mb4_german2_ci, and HKSCS.

  • Optimized replicated table-based routing

    Replicated tables apply to scenarios with more reads than writes. A query to a replicated table achieves the best performance if it reads data from the local replica. Therefore, ODP uses random routing for replicated tables. However, if a replicated table in a transaction is modified, a query randomly routed to a follower of the replicated table may not read the latest data. To resolve this problem, ODP V4.3.3 optimizes the routing strategy to route queries for a replicated table modified in a transaction to the leader of the replicated table.

  • Optimized routing for weak-consistency reads within a transaction

    If a write or SELECT FOR UPDATE statement is executed in a transaction and subsequent read statements attempt to access the uncommitted modifications of the transaction, these read statements must be executed as strong-consistency reads, and ODP routes the read statements to the leader for execution. If the read statements are configured as weak-consistency reads, they will be randomly routed to followers. ODP V4.3.3 optimizes this routing logic to route weak-consistency read statements following a write statement in a transaction to the leader as strong-consistency read statements.

  • Accurate routing for more expressions, such as TO_DAYS(), TIMESTAMP 'xxxxx', and NOT IN

Support for the binlog service
  • ODP V4.3.3 supports the log_bin_basename variable and the SHOW MASTER LOGS syntax.

  • ODP V4.3.3 allows you to specify the username and password for logging in to the binlog service.

Usability of diagnostics
  • PS cache monitoring

    In a scenario where the prepared statement (PS) protocol is used, a client may keep a large amount of PS caches in use, which occupy a large amount of memory and degrades the performance. It is difficult to diagnose such an issue. To improve troubleshooting efficiency for PS protocol-related issues, ODP provides PS cache information in Prometheus monitoring, such as the number of allocated PS caches and memory usage, and periodically outputs the monitoring data. It also allows you to execute the SHOW PROXYPS statement to query information in the PS cache, such as the SQL text, parsing results, and memory usage of prepared statements, to improve the usability of diagnostics.

    For more information, see SHOW PROXYPS.

  • Routing monitoring

    ODP provides routing statistics in Prometheus monitoring, such as the number of routing requests per unit time in a transaction, number of secondary routing requests, number of random routing requests after partition calculation fails, and number of routing requests based on the global index table.

Compatibility changes

Parameter changes

Parameter
Change type
Description
enable_standby_read_write_split New Specifies whether to enable read/write splitting between the primary and standby tenants. Default value: false. The setting takes effect only for new connections.
enable_check_cluster_name New Specifies whether to verify the cluster name in a three-segment string used for login.
rootservice_cluster_name Modified Specifies the cluster where the standby tenant to which the service name is to be mapped resides when multiple standby tenants exist across multiple clusters.

Variable changes

Variable
Change type
Description
log_bin_basename New ODP can forward this variable to the binlog service to query the prefixes of binlog file names.

Syntax changes

Syntax
Change type
Description
SHOW PROXYPS New ODP allows you to execute this statement to query PS cache information. Each row in the result set displays information about a PS cache, such as the cached prepared SQL statement, statement parsing results, and memory usage.
SHOW MASTER LOGS New ODP can forward this statement to the binlog service.

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 a Long-Term Support (LTS) version, is recommended.

ODP V4.3.3 provides multiple new features. We recommend that you use ODP V4.3.3 if your environment relies on the new features, or the LTS version V4.3.1 if otherwise.

Bug fixes

  • Fixed the issue where routing calculation hangs when the character set or data type is not supported.

  • Fixed the issue where the detected transaction status is inaccurate when a cross-server transaction request handling exception occurs in distributed transaction routing.

  • Fixed the issue where no PS cache is created when a COM_STMT_PREPARE_EXECUTE request is executed.

  • Fixed the issue where an existing prepared statement is dropped by mistake when the PREPARE statement attempts to create a statement with the same name but fails, leading to an error during the execution of the DEALLOCATE PREPARE statement.

  • Fixed the issue where a COM_STMT_SEND_LONG_DATA request exceeding 16 MB in size cannot be forwarded.

  • Fixed the issue where an error is returned because ODP does not support two consecutive requests in the MySQL packet format.

  • Fixed the issue where the driver hangs after calling the mysql_change_user() operation when ODP fails to forward the AuthSwitchResponse packet.

  • Fixed the issue where a MySQL 8.0.22 client fails to connect to OceanBase Database with a password from ODP.

  • Fixed the issue where ODP does not randomly distribute SQL requests when the partitioning key of a partitioned table is missing.

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

  • Fixed the issue where SQL requests are executed in remote mode because distributed transaction routing is not enabled for routing requests when the PreparedStatement and PrepareExecute protocols are enabled.

  • Fixed the issue where distributed transaction routing for SQL requests in anonymous blocks fails, causing a disconnection after retry validation failure.

  • Fixed the issue where the client hangs after the BenchmarkSQL test is completed.

  • Fixed the issue where an error is returned when the GO client sends data larger than 16 MB through a send_long_data request.

Previous topic

ODP Enterprise Edition V4.3.4
Last

Next topic

ODP Community Edition V4.3.2
Next
on this page
V4.3.3
Version information
Overview
Key features
Compatibility changes
Supported OceanBase Database versions
Bug fixes