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.6
  • 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
      • connection_pool_mode
      • 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_auto_restart
      • 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_crash_error_log
      • enable_cross_shard_txn
      • 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_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_scan_all_request
      • 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
      • is_need_skip_delay_interval_schema_changed
      • 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_cluster
      • 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
      • rpc_client_net_read_timeout
      • rpc_async_pull_batch_max_size
      • rpc_async_task_thread_num
      • rpc_ctx_expire_time
      • routing_cache_mem_limited
      • rpc_enable_async_analyze
      • rpc_enable_async_pull_batch_tablets
      • rpc_async_pull_batch_max_times
      • rpc_async_pull_batch_wait_interval
      • rpc_enable_direct_expire_route_entry
      • rpc_enable_congestion
      • rpc_enable_lower_case_table_names
      • rpc_enable_global_index
      • rpc_enable_force_srv_black_list
      • rpc_enable_requestsm_info
      • rpc_enable_reroute
      • rpc_enable_parallel_handler
      • rpc_enable_retry_request_info_log
      • rpc_force_use_original_redis_protocol
      • rpc_enable_sub_req_log
      • rpc_force_srv_black_list
      • rpc_listen_port
      • rpc_max_request_batch_size
      • rpc_max_response_batch_size
      • rpc_max_server_table_entry_num
      • rpc_net_timeout_base
      • rpc_partition_calc_max_retries
      • rpc_redis_operation_timeout
      • rpc_request_server_entry_max_retries
      • rpc_request_timeout
      • rpc_request_max_retries
      • rpc_redis_default_database_name
      • rpc_redis_max_monitor_num
      • rpc_period_task_interval
      • rpc_redis_default_user_name
      • rpc_request_retry_waiting_time
      • rpc_server_entry_expire_time
      • rpc_request_timeout_delta
      • rpc_server_net_handler_expire_time
      • rpc_server_net_invalid_time_us
      • rpc_srv_session_pool_inactive_timeout
      • rpc_service_mode
      • rpc_server_net_max_pending_request
      • rpc_sub_request_isolation_mode
      • rpc_support_key_partition_shard_request
      • rpc_sub_request_weight
      • rpc_sub_req_max_retries
      • scan_buffered_rows_warning_threshold
      • 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
      • session_pool_idle_timeout
      • session_pool_reset_interval
      • session_pool_stat_log_interval
      • session_pool_thread_num
      • session_pool_thread_schedule_interval
      • 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
      • table_entry_retry_build_limit
      • 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
      • init_sql
      • 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
    • Session connection pool
  • 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
      • Equality derivation for partition calculation
    • 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
        • KILL GLOBALSESSION
        • KILL PROXYSESSION
      • ping
      • SHOW
        • SHOW
        • SHOW GLOBALSESSION
        • 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
    • Version number rules
    • Enterprise Edition
      • V4.3
        • OceanBase Database Proxy Enterprise Edition V4.3.6
        • OceanBase Database Proxy Enterprise Edition V4.3.5
        • OceanBase Database 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
        • OceanBase Database Proxy Community Edition V4.3.6
        • OceanBase Database Proxy Community Edition V4.3.5
        • OceanBase Database Proxy Community 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.6

ODP Enterprise Edition V4.3.2

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

V4.3.2 BP1
Version information
Bug fixes
V4.3.2
Version information
Overview
Key features
Parameter changes
Supported OceanBase Database versions
Bug fixes

V4.3.2 BP1

Version information

  • Release date: December 08, 2024

  • Version: V4.3.2 BP1

  • RPM version: obproxy-4.3.2.0-752024120610

Bug fixes

  • Fixed the issue where the error code 4007 is returned for an ObTableLSOpRequest request if it is the first request initiated after reconnection.

  • Fixed the issue where an information parsing exception occurs if RANGE partitions are obtained by calling the getPartition API operation.

  • Fixed the issue where a scheduling exception occurs if default partitioning information is used when you call the getPartition API operation to obtain partition information for the first time.

  • Fixed the issue where an exception occurs if a cross-partition request is repeatedly scheduled.

V4.3.2

Version information

  • Release date: October 08, 2024

  • Version: V4.3.2

  • RPM version: obproxy-4.3.2.0-432024100811

Overview

OceanBase Database Proxy (ODP) V4.3.2 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 provides the weight-based load-balanced routing and replica type-based routing features for weak-consistency read requests. The SQL firewall and VIP-based connection strings on Google Cloud Platform (GCP) are supported to improve the competitiveness in clouds. Columnstore replica-based routing is supported for online analytical processing (OLAP) requests in OceanBase Database V4.3.3. Routing of the DOUBLE type and invalid date types is supported in MySQL mode, further improving the routing feature. ODP performance is further optimized through a series of means such as disabling distributed transaction routing in standalone mode, optimizing log printing, and optimizing CPU consumption. The RPC proxy adapts to the getPartition API operation to allow the client to obtain and cache all partition routing information of the specified table. Threads for processing cross-partition subrequests are isolated from regular worker threads to reduce the impact of cross-partition requests on the response time of regular single-partition requests, thereby optimizing the performance.

Key features

SQL proxy

Weight-based load-balanced routing

In earlier versions, ODP supports two routing strategies for weak-consistency read requests: logical data center (LDC)-based routing and random routing based on the routing strategy specified by proxy_route_policy, which can meet the routing requirements for weak-consistency read requests in most scenarios. After cloud databases support replica types such as read-only replicas and read-only columnstore replicas, more flexible load balancing requirements are raised for weak-consistency read requests. ODP V4.3.2 supports the weight-based load-balanced routing strategy to meet the new requirements and improve the competitiveness. The WEAKREAD_WEIGHT_LOAD_BALANCE value is added to the proxy_route_policy parameter. You can configure a weight ranging from 0 to 100 for a zone in a cluster. ODP forwards weak-consistency read requests based on the replica weights to achieve load balancing.

Replica type-based routing for weak-consistency read requests

OceanBase Database V4.3.3 supports a new replica type, namely, columnstore replica, to improve the query performance of OLAP requests. Columnstore replicas strongly rely on the routing capabilities of ODP. In terms of deployment architecture, an independent ODP is deployed for columnstore replicas, and the proxy_primary_zone_name parameter is provided to specify to route all requests destined for this ODP to specified columnstore replicas, isolating OLAP requests from online transaction processing (OLTP) requests in the architecture. In terms of routing strategies, the TARGET_REPLICA_TYPE_WITH_LEADER, TARGET_REPLICA_TYPE_FOLLOWER_FIRST, and TARGET_REPLICA_TYPE_FOLLOWER_ONLY values, which are all replica type-based routing strategies, are added to the proxy_route_policy parameter for weak-consistency read requests destined for columnstore replicas. On top of that, the VIP-level parameter route_target_replica_type is provided to specify replicas for routing.

The replica type-based routing strategy applies not only to columnstore replicas but also to full-featured replicas and read-only replicas. This strategy is designed to be applicable to all replicas. You can configure routing strategies for different replica types to support more business scenarios such as read/write splitting, disaster recovery, and double leader addresses.

SQL firewall

ODP already supports SQL throttling and termination features in V1.9.x. However, these features are unsuitable for massive popularization due to the complex usage process. ODP V4.3.2 modifies and improves the SQL firewall to improve the ease of use and stability. You can configure, view, and delete parameter settings at multiple levels. The following types of SQL statements can be blocked:

  • Certain types of SQL statements, such as SELECT, INSERT, and DELETE

  • SQL statements without a WHERE condition

  • SQL statements with a LIKE clause

  • Custom SQL statements

Note that after the SQL firewall is enabled, the performance may deteriorate by less than 10%. Proceed with caution in actual business scenarios.

Routing improvement

To further improve the compatibility with MySQL, OceanBase Database supports a column of the DOUBLE type as the partitioning key and the invalid date types of MySQL. Accordingly, ODP V4.3.2 supports accurate routing for tables that use a column of the DOUBLE type as the partitioning key, and for invalid date types of MySQL. To meet the requirements of tools in the ecosystem, ODP V4.3.2 supports the static variable port and can forward SHOW MASTER STATUS statements with comments to the binlog service. Furthermore, ODP V4.3.2 implements special routing for the select last_trace_id() statement. Specifically, ODP routes this statement to the last successfully connected OBServer node to obtain the accurate trace ID of the previous SQL statement, so as to locate SQL logs based on the trace ID, thereby improving the troubleshooting efficiency.

RPC proxy

Expose the table partitioning API operation

OBKV provides a new API operation named getPartition. With this API operation, you can obtain related information about certain or all partitions of the specified table to make good use of the atomicity of TableAPI of OBKV or improve the data synchronization performance of HBase. ODP V4.3.2 adapts to this API operation. If you connect to your OceanBase cluster by using ODP, the client needs to obtain the table entry information of the specified table through multiple processes. ODP encapsulates all the obtained table entry information as an RPC packet and returns the packet to the client, which then caches the packet. ODP can provide routing information without affecting the performance.

Isolate cross-partition subrequests

In earlier ODP versions, if a large number of cross-partition requests are initiated, the response time of other regular single-partition requests increases, which is unacceptable to users. ODP V4.3.2 isolates the threads for processing cross-partition subrequests from worker threads for processing single-partition requests, to reduce the impact on the response time of single-partition requests.

Parameter changes

Parameter
Change type
Description
proxy_route_policy Modified The WEAKREAD_WEIGHT_LOAD_BALANCE value indicating weight-based load-balanced routing, as well as TARGET_REPLICA_TYPE_WITH_LEADER, TARGET_REPLICA_TYPE_FOLLOWER_FIRST, and TARGET_REPLICA_TYPE_FOLLOWER_ONLY indicating replica type-based routing, have been added to the value range of this parameter since V4.3.2.
route_target_replica_type New The replica type for routing weak-consistency read requests. This parameter takes effect only when proxy_route_policy is set to a value starting with TARGET_REPLICA_TYPE_.
weakread_weight_zone New The weights of zones. ODP routes weak-consistency read requests based on the specified weights to achieve load balancing. This parameter takes effect only when proxy_route_policy is set to WEAKREAD_WEIGHT_LOAD_BALANCE.
sql_firewall_config New The blocking rules of the firewall.
rpc_sub_request_isolation_mode New The processing mode of RPC subrequests. You can set an appropriate processing mode to control the number of threads used for processing subrequests and reduce the impact on the response time of general requests.
rpc_async_task_thread_num New The number of asynchronous threads for OBKV. You can set an appropriate number of asynchronous threads to reduce the impact of subrequest forwarding and large request processing on general requests.
rpc_sub_request_weight New The weight of RPC subrequests. The higher the weight, the more the general threads occupied by subrequests.
rpc_request_throttle_waiting_time New The time to wait before reading RPC requests after throttling is triggered.
rpc_throttle_limit_qps_qa New The QPS for RPC requests after throttling is triggered.
rpc_throttle_trigger_percentage New The memory usage threshold that triggers throttling. When the memory usage of RPC requests reaches the specified threshold, RPC requests are throttled.
enable_rpc_throttle New Specifies whether to perform throttling based on the memory usage of RPC requests.

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.2 provides multiple new features. We recommend that you use ODP V4.3.2 if your environment relies on the new features, or the LTS version V4.3.1 if otherwise.

Bug fixes

  • Fixed the issue where inaccurate routing occurs because ODP fails to obtain location information after case sensitivity is enabled in the tenant.

  • Fixed the issue where, if lower_case_table_names = 0 is configured in a tenant, a disconnection occurs due to a SYNC_DATABASE_COMMON_ERROR error when the database name contains both uppercase and lowercase letters.

  • Fixed the issue where an exception is thrown due to a memory allocation failure when memory overrun occurs.

  • Fixed the issue where, if a tenant is dropped and created again, ODP keeps trying to connect to the tenant in HBase mode after the client passes in the new tenant ID.

Previous topic

ODP Enterprise Edition V4.3.3
Last

Next topic

ODP Enterprise Edition V4.3.1
Next
on this page
V4.3.2 BP1
Version information
Bug fixes
V4.3.2
Version information
Overview
Key features
Parameter changes
Supported OceanBase Database versions
Bug fixes