Due to the architectural upgrades and restructuring in OceanBase Database V4.x, many parameters and variables are no longer effective. Invalid parameters or variables have been removed or modified in V4.x. For example, the minor_freeze_times parameter, which was used to trigger major compactions, has been removed. Additionally, some default parameter values have been adjusted. For example, V4.x has introduced underlying support for large transactions, ensuring that transactions are no longer affected by freeze operations. As a result, the default value of the freeze_trigger_percentage parameter has been adjusted to 20%.
Parameter changes in V4.x
Replaced parameters
The table below lists the parameters in V4.x that serve as replacements for those in V3.x.
Renamed parameters
The table below lists the parameters in V4.x that have been renamed.
| Parameter (V3.x) | Parameter (V4.x) | Description |
|---|---|---|
| tableapi_transport_compress_func | kv_transport_compress_func |
|
Attributes with Updated Scope of Effect
OceanBase Database uses a multi-tenant architecture. Most users create multiple tenants within the same cluster and manage them separately based on different business needs. To meet the requirement where each tenant represents a business unit, V4.x splits cluster-level capabilities into tenant-level capabilities, such as tenant-level backup, dump, and merge.
The table below lists the parameters whose scope of effect has been updated.
| Parameter | Description |
|---|---|
| backup_data_file_size |
|
| enable_rebalance | Changed from cluster-level to tenant-level starting from V4.2.0. |
| balancer_idle_time | Changed from cluster-level to tenant-level starting from V4.2.0. |
| log_archive_concurrency | Changed from cluster-level to tenant-level starting from V4.1.0. |
| log_restore_concurrency | Changed from cluster-level to tenant-level starting from V4.1.0. |
| major_compact_trigger | Changed from cluster-level to tenant-level starting from V4.0.0. |
| minor_compact_trigger | Changed from cluster-level to tenant-level starting from V4.0.0. |
Attributes with updated activation modes
Parameters typically fall into two activation modes: dynamic activation and restart-required activation. Most parameters are dynamically activated, meaning they take effect without needing to restart the OBServer node.
The table below lists the parameters with updated activation modes.
| Parameter | Description |
|---|---|
| server_cpu_quota_min |
|
| server_cpu_quota_max |
|
Attributes with updated default values
The table below lists the parameters whose default values have been updated.
| Parameter | Description |
|---|---|
| kv_group_commit_batch_size | Starting from V4.3.5 BP1, the default value has been changed from 1 to 10. |
| direct_load_allow_fallback | Starting from V4.3.5, the default value has been changed from False to True. |
| memstore_limit_percentage |
|
| range_optimizer_max_mem_size |
|
| ls_gc_delay_time |
|
| enable_monotonic_weak_read | Starting from V4.2.1, the default value was changed from true to false. |
| location_refresh_thread_count | Starting from V4.2.0, the default value was changed from 4 to 2. |
| enable_record_trace_id | Starting from V4.2.0, the default value was changed from true to false. |
| plan_cache_evict_interval | Starting from V4.2.0, the default value was changed from 1s to 5s. |
| tenant_task_queue_size | Starting from V4.1.0, the default value was changed from 65536 to 16384. |
| server_cpu_quota_min |
|
| writing_throttling_maximum_duration | Starting from V4.0.0, the default value was changed from 1h to 2h. |
| writing_throttling_trigger_percentage | Starting from V4.0.0, the default value was changed from 100 to 60. |
| freeze_trigger_percentage | Starting from V4.0.0, the default value was changed from 70 to 20. |
Attributes with updated value ranges
The table below lists the parameters whose value ranges have been updated.
| Parameter | Description |
|---|---|
| ob_startup_mode | Starting from V4.3.4, the value range has been expanded to include SHARED_STORAGE. |
| large_query_threshold |
|
| memstore_limit_percentage |
|
| range_optimizer_max_mem_size |
|
| job_queue_processes |
|
| memory_limit_percentage | Starting from V4.2.1, the value range was changed from [10, 90] to [10, 95]. |
| cpu_quota_concurrency | Starting from V4.2.0, the value range was changed from [1, 10] to [1, 20]. |
| memory_limit | Starting from V4.1.0, the value range was changed from [4G, +∞) to [1G, +∞). |
| server_cpu_quota_min |
|
Attributes with updated semantics
The table below lists the parameters whose semantics have been updated in V4.x.
| Parameter name | Description |
|---|---|
| datafile_maxsize | Starting from V4.3.4, in shared nothing mode, the semantics of this parameter remain unchanged. In shared storage mode, this parameter becomes irrelevant. |
| datafile_next | Starting from V4.3.4, in shared nothing, the semantics of this parameter remain unchanged. In shared storage, this parameter becomes irrelevant. |
| datafile_disk_percentage | Starting from V4.3.4, in shared nothing, the semantics of this parameter remain unchanged. In shared storage, this parameter is used to set the percentage of local available cache space relative to the total disk space. |
| datafile_size | Starting from V4.3.4, in shared nothing, the semantics of this parameter remain unchanged. In shared storage, this parameter is used to set the size of the local cache space. |
Newly added parameters
The table below lists the parameters introduced in the V4.x versions.
| Parameter | Introduced version | Description |
|---|---|---|
| enable_lock_priority | V4.3.5 BP2 | The table lock priority switch. |
| enable_adaptive_plan_cache | V4.3.5 BP2 | Controls whether the tenant enables the adaptive capability of the plan cache. |
| global_index_auto_split_policy | V4.3.5 BP2 | Controls whether newly created global indexes enable the automatic partitioning feature. |
| default_storage_cache_policy | V4.3.5 BP2 | Configures the default caching policy. |
| enable_manual_storage_cache_policy | V4.3.5 BP2 | Enables user-specified manual hotspot caching policies. |
| suspend_storage_cache_task | V4.3.5 BP2 | Sets whether to suspend background caching tasks. |
| clog_io_isolation_mode | V4.3.5 BP2 | Determines whether the I/O requests of the clog disk are controlled by resource isolation, based on whether the clog disk and data disk are independent. Users can flexibly adjust the value of this configuration item according to the actual system deployment to balance performance and resource utilization. |
| default_table_organization | V4.3.5 BP1 | Allows setting the default table organization mode for tables. |
| px_node_policy | V4.3.5 BP1 | Determines the candidate pool for PX computing nodes. |
| ob_enable_java_env | V4.3.5 BP1 | Controls whether to enable the Java environment required for external table capabilities such as HDFS/MaxCompute (ODPS). |
| ob_java_home | V4.3.5 BP1 | Sets the Java home path required for JNI runtime, which needs to be configured when ob_enable_java_env is enabled. |
| ob_java_opts | V4.3.5 BP1 | Sets JVM startup options, such as memory size and garbage collection algorithms, which need to be configured when ob_enable_java_env is enabled. |
| ob_java_connector_path | V4.3.5 BP1 | Sets the path of the jar package required by the external table connector, which needs to be configured when ob_enable_java_env is enabled. |
| temporary_file_max_disk_size | V4.3.5 BP1 | Sets the maximum disk space that temporary files can occupy within a single node for a tenant. |
| package_state_sync_max_size | V4.3.5 BP1 | Controls the maximum length of package state synchronization variable values. If the value exceeds the configured limit, the package variables will not be synchronized. |
| unit_gc_wait_time |
|
Specifies the maximum wait time for Unit GC. If the maximum wait time is exceeded, GC is forced. |
| recover_table_concurrency |
|
Sets the maximum number of tables that can be recovered in parallel during the cross-tenant table import phase of table-level recovery. |
| recover_table_dop |
|
Sets the maximum number of tables that can be recovered in parallel for a single table during the cross-tenant table import phase of table-level recovery. |
| query_memory_limit_percentage |
|
Defines the percentage of tenant memory that can be used by a single SQL query. |
| replica_parallel_migration_mode |
|
Specifies the mode for parallel migration of replica logs. |
| sts_credential |
|
Specifies the credentials required to access the STS service provided by OCP. |
| arbitration_degradation_policy | V4.3.4 | Configures the policy for automatic degradation. |
| kv_hbase_client_scanner_timeout_period | V4.3.4 | Specifies the timeout period for OBKV-HBase streaming queries. |
| default_load_mode | V4.3.4 | Defines the hint to be used when no hint is specified during a data loading operation. |
| direct_load_allow_fallback | V4.3.4 | Specifies whether an error is raised when direct load is not supported during a data loading operation. |
| enable_auto_split | V4.3.4 | Specifies whether automatic partitioning is enabled for the table. |
| auto_split_tablet_size | V4.3.4 | Specifies the threshold for triggering partition splitting after automatic partitioning is enabled for the tenant. |
| sync_io_thread_count | V4.3.4 | Specifies the number of threads for synchronous IO requests. |
| ob_encoding_granularity | V4.3.3 | Specifies the percentage limit of memory resources that the vector index module can use. |
| ob_storage_s3_url_encode_type | V4.3.3 | Specifies whether the URL encoding method for S3 requests complies with the Rfc3986 standard. |
| ob_vector_memory_limit_percentage | V4.3.3 | Specifies the memory usage threshold (as a percentage) for the vector index module. |
| storage_rowsets_size | V4.3.2 | Specifies the number of rows processed in a single vectorized batch by the columnar engine. |
| alert_log_level |
|
Specifies the log level for alert messages. |
| enable_global_background_resource_isolation |
|
Specifies whether to enable global foreground and background resource isolation. |
| global_background_cpu_quota |
|
Specifies the number of CPU cores allocated for background tasks when global foreground and background resource isolation is enabled. |
| choose_migration_source_policy |
|
Specifies the priority policy for selecting source replicas during migration. |
| lob_enable_block_cache_threshold |
|
Specifies the threshold for caching OUTROW LOB queries. |
| spill_compression_codec | V4.3.1 | Specifies the compression algorithm type for data spill compression during SQL execution. |
| max_partition_num |
|
Specifies the maximum number of partitions allowed in MySQL mode. |
| log_storage_compress_all |
|
Specifies whether to enable clog storage compression. |
| syslog_compress_func |
|
Specifies the compression algorithm for system logs. |
| syslog_disk_size |
|
Specifies the disk space limit for system logs. |
| syslog_file_uncompressed_count |
|
Specifies the number of uncompressed system log files. |
| log_storage_compress_func |
|
Specifies the compression algorithm for clog storage compression. |
| enable_dblink |
|
Specifies whether to enable the DBLink feature. |
| data_disk_write_limit_percentage |
|
Specifies the percentage limit for data disk writes. |
| strict_check_os_params |
|
Specifies whether to enable the function to check OS configuration parameters. |
| default_table_store_format | V4.3.0 | Specifies the default format for creating tables in user tenants, including row storage, pure column storage, and redundant row-column storage. |
| enable_rpc_authentication_bypass | V4.3.0 | Specifies whether to allow the OMS migration service and OBKV service to bypass RPC security authentication to connect to the cluster when RPC security authentication is enabled in the OBServer cluster. |
| sql_protocol_min_tls_version | V4.2.1 | Specifies the minimum version of the SSL/TLS protocol used for SQL statements during SSL connections. |
| compaction_dag_cnt_limit | V4.2.1 | Specifies the upper limit for the number of DAGs in the Compaction DAG queue. |
| compaction_schedule_tablet_batch_cnt | V4.2.1 | Specifies the maximum number of partitions scheduled per batch during Compaction scheduling. |
| enable_transfer | V4.2.1 | Specifies whether to allow Transfer operations within the tenant. |
| ttl_thread_score | V4.2.1 | Specifies the number of worker threads used by TTL tasks. |
| local_ip | V4.2.0 | Specifies the IP address of the machine where ObServer is installed during cluster deployment. |
| observer_id | V4.2.0 | Specifies the unique identifier assigned by RS to the OBServer node in the cluster. |
| standby_fetch_log_bandwidth_limit | V4.2.0 | Specifies the maximum total bandwidth per second that all servers in the standby tenant's cluster can use to synchronize logs from the primary tenant. |
| storage_meta_cache_priority | V4.2.0 | Specifies the priority of storing Meta Cache in kvcache. |
| archive_lag_target | V4.2.0 | Specifies the log archiving delay time for the tenant. |
| log_disk_throttling_maximum_duration | V4.2.0 | Specifies the maximum available time for the log disk after triggering log throttling. |
| log_disk_throttling_percentage | V4.2.0 | Specifies the percentage of unrecoverable log disk space that triggers log write throttling. |
| ls_gc_delay_time | V4.2.0 | Specifies the delay time for deleting tenant log streams. |
| partition_balance_schedule_interval | V4.2.0 | Specifies the scheduling interval for partition balance. |
| range_optimizer_max_mem_size | V4.2.0 | Limits the memory used by the Query Range module. |
| standby_db_fetch_log_rpc_timeout | V4.2.0 | Specifies the RPC timeout for log fetching in standby databases to control the detection of unavailable servers in the primary database and switching to other servers. |
| standby_db_preferred_upstream_log_region | V4.1.0 | Specifies the preferred region for upstream log synchronization in physical standby database scenarios. |
| log_storage_warning_tolerance_time | V4.1.0 | Specifies the time from log disk I/O failure to marking the disk as faulty and triggering a primary switch. |
| ob_startup_mode | V4.1.0 | Specifies the startup mode of the OBServer node, which can only be modified during the first startup. |
| sql_net_thread_count | V4.1.0 | Specifies the number of IO threads in the MySQL cluster, i.e., the number of global_sql_nio_server threads. |
| arbitration_timeout | V4.1.0 | Specifies the timeout for triggering automatic degradation. |
| dump_data_dictionary_to_log_interval | V4.1.0 | Controls the persistence interval of the tenant's data dictionary. |
| enable_user_defined_rewrite_rules | V4.1.0 | Specifies whether to enable user-defined rewrite rules. |
| log_transport_compress_all | V4.1.0 | Specifies whether to use compression for log transport. |
| log_transport_compress_func | V4.1.0 | Specifies the compression algorithm for log transport. |
| rpc_memory_limit_percentage | V4.1.0 | Specifies the maximum percentage of tenant memory that RPC can use. |
| tenant_sql_login_thread_count | V4.1.0 | Specifies the number of login threads for MySQL tenants, i.e., the number of mysql_queue threads. |
| tenant_sql_net_thread_count | V4.1.0 | Specifies the number of IO threads for MySQL tenants, i.e., the number of sql_nio_server threads. |
| log_disk_percentage | V4.0.0 | Specifies the percentage of the total disk space occupied by Redo logs on its disk. |
| log_disk_size | V4.0.0 | Specifies the size of the Redo log disk, i.e., the total log disk space that this OBServer can use. |
| ha_high_thread_score | V4.0.0 | Specifies the current number of working threads for high-priority high-availability threads. |
| ha_low_thread_score | V4.0.0 | Specifies the current number of working threads for low-priority high-availability threads. |
| ha_mid_thread_score | V4.0.0 | Specifies the current number of working threads for medium-priority high-availability threads. |
| query_memory_limit_percentage |
|
Specifies the percentage of tenant memory that a single SQL query can use. |
Deprecated parameters
The table below lists the parameters that were deprecated in the V4.x versions.
| Parameter | Description |
|---|---|
| global_write_halt_residual_memory | This parameter is no longer in use and was removed starting from V4.2.0. |
| max_px_worker_count | This parameter is no longer in use and was removed starting from V4.2.0. |
| plan_cache_high_watermark | This feature was never supported and was removed starting from V4.2.0. |
| plan_cache_low_watermark | This feature was never supported and was removed starting from V4.2.0. |
| rootservice_memory_limit | Removed as part of architecture upgrades starting from V4.2.0. |
| system_trace_level | Changes in implementation made this parameter obsolete, and it was removed starting from V4.2.0. |
| token_reserved_percentage | Changes in implementation made this parameter obsolete, and it was removed starting from V4.2.0. |
| trace_log_sampling_interval | Changes in implementation made this parameter obsolete, and it was removed starting from V4.2.0. |
| io_category_config | Changes in implementation made this parameter obsolete, and it was removed starting from V4.2.0. |
| auto_broadcast_location_cache_rate_limit | Removed as part of architecture upgrades starting from V4.0.0. |
| auto_leader_switch_interval | Removed as part of architecture upgrades starting from V4.0.0. |
| auto_refresh_location_cache_rate_limit | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_backup_dest | This feature is no longer supported and was removed starting from V4.0.0. |
| backup_backup_dest_option | This feature is no longer supported and was removed starting from V4.0.0. |
| backup_dest_option | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_concurrency | Removed as part of architecture upgrades starting from V4.0.0. Starting from V4.0.0, the parameter ha_low_thread_score was introduced as a replacement. |
| backup_dest | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_log_archive_option | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_net_limit | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_recovery_window | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_region | Removed as part of architecture upgrades starting from V4.0.0. |
| backup_zone | Removed as part of architecture upgrades starting from V4.0.0. |
| balance_blacklist_failure_threshold | Removed as part of architecture upgrades starting from V4.0.0. |
| balance_blacklist_retry_interval | Removed as part of architecture upgrades starting from V4.0.0. |
| balancer_emergency_percentage | Removed as part of architecture upgrades starting from V4.0.0. |
| balancer_timeout_check_interval | Removed as part of architecture upgrades starting from V4.0.0. |
| clog_disk_utilization_threshold | Removed as part of architecture upgrades starting from V4.0.0. Starting from V4.0.0, the parameter log_disk_utilization_threshold was introduced as a replacement. |
| clog_expire_days | Removed as part of architecture upgrades starting from V4.0.0. |
| clog_cache_priority | Removed as part of architecture upgrades starting from V4.0.0. |
| clog_disk_usage_limit_percentage | Removed as part of architecture upgrades starting from V4.0.0. |
| clog_transport_compress_func | This feature was not supported in V4.0.0 and was removed starting from V4.0.0. Starting from V4.1.0, the parameter log_transport_compress_func was introduced as a replacement. |
| clog_max_unconfirmed_log_count | Due to changes in implementation logic, this feature is no longer applicable and was removed starting from V4.0.0. |
| clog_persistence_compress_func | This feature was not supported in V4.0.0 and was removed starting from V4.0.0. Starting from V4.2.1 (excluding V4.3.0), the parameter log_storage_compress_func was introduced as a replacement. |
| cpu_reserved | Removed as part of architecture upgrades starting from V4.0.0. |
| data_copy_concurrency | Due to changes in implementation logic, this feature was removed starting from V4.0.0. Starting from V4.0.0, the parameter ha_high_thread_score was introduced as a replacement. |
| default_transport_compress_func | Removed as part of architecture upgrades starting from V4.0.0. |
| election_cpu_quota | Removed as part of architecture upgrades starting from V4.0.0. |
| election_blacklist_interval | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_auto_refresh_location_cache | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_auto_leader_switch | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_clog_persistence_compress | This feature was not supported in V4.0.0 and was removed starting from V4.0.0. Starting from V4.2.1 (excluding V4.3.0), the parameter log_storage_compress_all was introduced as a replacement. |
| enable_global_freeze_trigger | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_log_archive | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_election_group | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_merge_by_turn | This feature is no longer supported and was removed starting from V4.0.0. |
| enable_manual_merge | This feature is no longer supported and was removed starting from V4.0.0. |
| enable_one_phase_commit | Due to changes in implementation logic, this feature is no longer applicable and was removed starting from V4.0.0. |
| enable_pg | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_separate_sys_clog | This feature was never effective and was removed starting from V4.0.0. |
| enable_smooth_leader_switch | Removed as part of architecture upgrades starting from V4.0.0. |
| enable_rootservice_standalone | Removed as part of architecture upgrades starting from V4.0.0. |
| fast_recovery_concurrency | Due to changes in implementation logic, this feature was removed starting from V4.0.0. Starting from V4.0.0, the parameter ha_high_thread_score was introduced as a replacement. |
| flush_log_at_trx_commit | Low usage rate; removed starting from V4.0.0. |
| gc_wait_archive | Removed as part of architecture upgrades starting from V4.0.0. |
| global_index_build_single_replica_timeout | Due to changes in implementation logic, this feature is no longer applicable and was removed starting from V4.0.0. |
| global_major_freeze_residual_memory | Low usage rate; removed starting from V4.0.0. |
| get_leader_candidate_rpc_timeout | Removed as part of architecture upgrades starting from V4.0.0. |
| ignore_replica_checksum_error | Not recommended for use; removed starting from V4.0.0. |
| index_clog_cache_priority | Removed as part of architecture upgrades starting from V4.0.0. |
| index_info_block_cache_priority | Removed as part of architecture upgrades starting from V4.0.0. |
| index_cache_priority | Removed as part of architecture upgrades starting from V4.0.0. |
| ilog_index_expire_time | Removed as part of architecture upgrades starting from V4.0.0. |
| location_cache_priority | Removed as part of architecture upgrades starting from V4.0.0. |
| location_cache_expire_time | Removed as part of architecture upgrades starting from V4.0.0. |
| log_archive_batch_buffer_limit | Removed as part of architecture upgrades starting from V4.0.0. |
| log_archive_checkpoint_interval | Removed as part of architecture upgrades starting with V4.0.0. The parameter archive_lag_target was introduced in V4.0.0 as a replacement. |
| max_kept_major_version_number | This parameter was not used frequently and was removed starting with V4.0.0. |
| merge_stat_sampling_ratio | Removed starting with V4.0.0 due to changes in the implementation method. |
| merge_thread_count | Removed starting with V4.0.0 due to changes in implementation logic. The parameter compaction_low_thread_score was introduced in V4.0.0 as a replacement. |
| merger_completion_percentage | This parameter was not used frequently and was removed starting with V4.0.0. |
| merger_switch_leader_duration_time | This feature is no longer supported and was removed starting with V4.0.0. |
| merger_warm_up_duration_time | Removed as part of architecture upgrades starting with V4.0.0. |
| migrate_concurrency | Removed starting with V4.0.0 due to changes in implementation logic. The parameter ha_mid_thread_score was introduced in V4.0.0 as a replacement. |
| minor_deferred_gc_time | This parameter is no longer recommended and was removed starting with V4.0.0. |
| minor_freeze_times | This parameter overlapped with major_compact_trigger. Starting with V4.0.0, it was removed, and major_compact_trigger is now used instead. |
| minor_merge_concurrency | Removed starting with V4.0.0 due to changes in implementation logic. The parameter compaction_mid_thread_score was introduced in V4.0.0 as a replacement. |
| minor_warm_up_duration_time | This parameter is no longer recommended and was removed starting with V4.0.0. |
| multiblock_read_gap_size | Removed starting with V4.0.0 as part of architecture upgrades. |
| multiblock_read_size | Removed starting with V4.0.0 as part of architecture upgrades. |
| ob_esi_rpc_port | This feature is no longer supported and was removed starting with V4.0.0. |
| enable_ob_esi_process | This feature is no longer supported and was removed starting with V4.0.0. |
| ob_esi_session_timeout | This feature is no longer supported and was removed starting with V4.0.0. |
| ob_esi_io_concurrency | This feature is no longer supported and was removed starting with V4.0.0. |
| ob_esi_memory_limit | This feature is no longer supported and was removed starting with V4.0.0. |
| ob_esi_syslog_level | This feature is no longer supported and was removed starting with V4.0.0. |
| ob_esi_max_syslog_file_count | This feature is no longer supported and was removed starting with V4.0.0. |
| ofs_list | This feature is no longer applicable and was removed starting with V4.0.0. |
| partition_table_check_interval | Removed starting with V4.0.0 as part of architecture upgrades. |
| rebuild_replica_data_lag_threshold | Removed starting with V4.0.0 as part of architecture upgrades. |
| replica_safe_remove_time | Removed starting with V4.0.0 as part of architecture upgrades. |
| resource_soft_limit | Removed starting with V4.0.0 as part of architecture upgrades. |
| restore_concurrency | Removed starting with V4.0.0 due to changes in implementation logic. Starting with V4.0.0, the parameter ha_high_thread_score was introduced as a replacement. |
| row_purge_thread_count | This feature was never supported and was removed starting with V4.0.0. |
| server_data_copy_out_concurrency | Removed starting with V4.0.0 due to changes in implementation logic. Starting with V4.0.0, the parameter ha_mid_thread_score was introduced as a replacement. |
| server_data_copy_in_concurrency | Removed starting with V4.0.0 due to changes in implementation logic. Starting with V4.0.0, the parameter ha_mid_thread_score was introduced as a replacement. |
| sql_audit_memory_limit | Removed starting with V4.0.0 due to changes in implementation logic. This feature is no longer applicable. Starting with V4.0.0, the variable ob_sql_audit_percentage was introduced as a replacement. |
| switchover_process_thread_count | Removed starting with V4.0.0 as part of architecture upgrades. |
| sys_bkgd_io_high_percentage | Removed starting with V4.0.0 as part of architecture upgrades. |
| sys_bkgd_io_low_percentage | Removed starting with V4.0.0 as part of architecture upgrades. |
| sys_cpu_limit_trigger | Removed starting with V4.0.0 as part of architecture upgrades. |
| system_cpu_quota | Removed starting with V4.0.0 as part of architecture upgrades. |
| tenant_groups | This feature is no longer supported and was removed starting with V4.0.0. |
| trx_force_kill_threshold | Removed starting with V4.0.0 due to changes in implementation logic. This feature is no longer applicable. |
| unit_balance_resource_weight | Removed starting with V4.0.0 as part of architecture upgrades. |
| user_iort_up_percentage | Removed starting with V4.0.0 due to changes in implementation logic. This feature is no longer applicable. |
| user_tab_col_stat_cache_priority | Removed starting with V4.0.0 due to changes in implementation logic. This feature is no longer applicable. |
| wait_leader_batch_count | Removed starting with V4.0.0 as part of architecture upgrades. |
| zone_merge_concurrency | This feature is no longer supported and was removed starting with V4.0.0. |
| zone_merge_order | This feature is no longer supported and was removed starting with V4.0.0. |
| zone_merge_timeout | This feature is no longer supported and was removed starting with V4.0.0. |
System variable changes in version V4.x
To better accommodate users' business scenarios, OceanBase Database has made a series of optimizations and adjustments to the default values and value ranges of tenant-level variables. Notably, in previous versions, undo_retention was introduced as a system variable. However, starting from V4.0.0, undo_retention has been adjusted to a tenant-level parameter.
System variables with updated default values
The table below lists the variables whose default values have been updated.
| Variable name | Description |
|---|---|
| ob_default_lob_inrow_threshold |
|
| sql_mode |
|
| optimizer_features_enable |
|
| secure_file_priv | Starting from version V4.2.1, the default value has been changed from NULL to "". |
| max_allowed_packet | Starting from version V4.2.1, the default value has been increased from 4194304 to 16777216. |
| ob_max_read_stale_time | Starting from version V4.1.0, the default value has been changed from 5000000 to -1. |
| ob_trx_idle_timeout | Starting from V4.0.0, the default value has been changed from 120 seconds to 1 day. |
| ob_trx_timeout | Starting from V4.0.0, the default value has been changed from 100 seconds to 1 day. |
System variables with updated value ranges or meanings
The table below lists the system variables whose value ranges or meanings have been updated.
| Variable name | Description |
|---|---|
| secure_file_priv | Starting from V4.2.0, the meaning of the enumerated values empty string ("") and NULL has been changed from "no restrictions" to "import and export are disabled." |
| ob_max_read_stale_time | Starting from V4.1.0, the value range has been updated from [0, 9223372036854775807] to [-1, 9223372036854775807]. |
System variables with updated permission requirements
The table below lists the system variables whose permission requirements have been updated.
| Variable name | Description |
|---|---|
| secure_file_priv | Starting from V4.2.0, modification of this variable is restricted to connections made via the local Unix socket. |
Newly added system variables
The table below lists the system variables newly introduced in V4.x.
| Variable name | Introduced version | Description |
|---|---|---|
| event_scheduler | V4.3.5 BP2 | Determines whether the event scheduler is enabled and running on the server. |
| ob_enable_ps_parameter_anonymous_block | V4.3.5 BP2 | Controls whether anonymous blocks and call statements in PS mode are parameterized during parsing. |
| ob_sparse_drop_ratio_search | V4.3.5 BP2 | Sets the default extra info threshold for HNSW indexes. |
| ob_ivf_nprobes | V4.3.5 BP1 | Specifies how many nearest cluster centers to search during vector index queries. |
| mview_refresh_dop | V4.3.5 BP1 | Controls the default refresh parallelism for materialized views. |
| enable_optimizer_rowgoal | V4.3.5 BP1 | Controls whether the optimizer considers row count goals (e.g., LIMIT operators) during cardinality estimation. |
| pid_file |
|
Specifies the pathname of the file where the server writes its process ID. |
| port |
|
Sets the port number for the server to listen for TCP/IP connections during OBServer node deployment. |
| socket |
|
Specifies the name of the local client connection socket file. |
| ob_hnsw_ef_search | V4.3.3 | Sets the number of neighbor nodes considered during HNSW vector index searches. |
| ob_table_access_policy | V4.3.3 | Controls the optimizer to prioritize specific storage formats when generating base table plans. |
| cardinality_estimation_model |
|
Controls the correlation model used by the optimizer for row estimation. |
| activate_all_roles_on_login |
|
Controls whether all roles are automatically activated by default upon login. |
| innodb_stats_persistent |
|
Controls whether InnoDB index statistics are persisted to disk. |
| ob_compatibility_control |
|
Controls behavior modes in case of compatibility conflicts between MYSQL5.7 and MYSQL8.0. |
| ob_compatibility_version |
|
Controls the OceanBase database version for functional compatibility changes. |
| ob_security_version |
|
Controls the OceanBase database version for security feature compatibility. |
| automatic_sp_privileges |
|
Sets whether ALTER and EXECUTE privileges are automatically granted for stored procedures. |
| lc_time_names |
|
Controls the language used for displaying date and month names and abbreviations. |
| ob_enable_pl_cache |
|
Controls whether the PL cache module is enabled. |
| optimizer_dynamic_sampling | V4.2.0 | Controls the level of dynamic sampling. |
| optimizer_features_enable | V4.2.0 | Enables optimizer features of different OceanBase versions. |
| parallel_degree_limit | V4.2.0 | Sets the upper limit of parallelism chosen by the optimizer when using the Auto DOP strategy. |
| parallel_degree_policy | V4.2.0 | Sets the parallelism selection strategy. |
| parallel_min_scan_time_threshold | V4.2.0 | A parameter used in the Auto DOP strategy to evaluate the minimum execution time for parallel processing of base table scans. |
| runtime_filter_type | V4.2.0 | Sets the tenant-level Runtime Filter type. |
| runtime_filter_wait_time_ms | V4.2.0 | Sets the maximum wait time for the Runtime Filter. |
| runtime_filter_max_in_num | V4.2.0 | Sets the number of distinct values (NDVs) in a column for the Runtime In Filter. |
| runtime_bloom_filter_max_size | V4.2.0 | Sets the maximum memory usage for the Runtime Bloom Filter, in bytes. |
| cte_max_recursion_depth | V4.1.0 | Sets the maximum recursion depth for Common Table Expressions (CTEs). The server will terminate any operation that exceeds this value. |
| ob_max_read_stale_time | V4.1.0 | Sets the maximum latency threshold (in microseconds) for weak read queries. |
| regexp_stack_limit | V4.1.0 | Sets the maximum available memory for the internal stack during regular expression matching operations, with the default unit being bytes. |
| ob_enable_show_trace | V4.1.0 | Controls whether to enable Show Trace logs. |
| cursor_sharing | V4.0.0 | Determines whether SQL statements are parameterized during processing. |
| innodb_strict_mode | V4.0.0 | Sets the SQL checking mode for specific syntax. |
| log_row_value_options | V4.0.0 | Controls whether large objects (LOBs) use partial updates. |
| ob_enable_rich_error_msg | V4.0.0 | Controls whether to display additional information such as svr_ip, time, and trace_id when SQL execution errors occur. |
Deprecated system variables
The following table lists the system variables that were deprecated in V4.x.
| Variable name | Description |
|---|---|
| ob_enable_trace_log | Removed starting from V4.1.0 due to architecture upgrades. |
| ob_create_table_strict_mode | Removed starting from V4.0.0 due to architecture upgrades. |
| ob_enable_blk_nestedloop_join | Removed starting from V4.0.0 as the corresponding functionality is no longer applicable due to logic changes. |
| ob_enable_hash_group_by | Removed starting from V4.0.0 due to changes in implementation. |
| ob_timestamp_service | Removed starting from V4.0.0 due to architecture upgrades. |