You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2024/03/12 07:52:36 UTC
(doris) branch branch-2.1 updated: [enhancement](Nereids) refine and speedup analyzer (#31792) (#32106)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 86bddefe6ba [enhancement](Nereids) refine and speedup analyzer (#31792) (#32106)
86bddefe6ba is described below
commit 86bddefe6ba213f8750f2768c1e2249ca4185b69
Author: 924060929 <92...@qq.com>
AuthorDate: Tue Mar 12 15:52:28 2024 +0800
[enhancement](Nereids) refine and speedup analyzer (#31792) (#32106)
## Proposed changes
1. check data type whether can applied should not throw exception when real data type is subclass of signature data type
2. merge `SlotBinder` and `FunctionBinder` to `ExpressionAnalyzer` to skip rewrite the whole expression tree multiple times.
3. `ExpressionAnalyzer.buildCustomSlotBinderAnalyzer()` provide more refined code to bind slot by different parts and different priority
4. the origin slot binder has O(n^2) complexity, this pr use `Scope.nameToSlot` to support O(n) bind
5. modify some `Collection.stream()` to `ImmutableXxx.builder()` to remove some method call which are difficult to inline by jvm in the hot path, e.g. `Expression.<init>` and `AbstractTreeNode.<init>`
6. modify some `ImmutableXxx.copyOf(xxx)` to `Utils.fastToImmutableList(xxx)` to skip addition copy of the array
7. set init size to `Immutable.builder()` to skip some useless resize
8. lazy compute and cache some heavy operations, like `Scope.nameToSlot` and `CaseWhen.computeDataTypesForCoercion()`
(cherry picked from commit 83c2f5a95827136aac4f0a78c5e841e9a099858c)
---
be/src/clucene | 2 +-
docs/en/docs/admin-manual/config/fe-config.md | 5471 +++++++++++++++-----
docs/en/docs/advanced/variables.md | 2945 +++++++++--
docs/zh-CN/docs/admin-manual/config/fe-config.md | 5457 ++++++++++++++-----
docs/zh-CN/docs/advanced/variables.md | 2766 ++++++++--
.../org/apache/doris/catalog/FunctionRegistry.java | 22 +-
.../apache/doris/catalog/FunctionSignature.java | 3 +-
.../org/apache/doris/nereids/CascadesContext.java | 9 +
.../doris/nereids/analyzer/ComplexDataType.java | 22 +
.../apache/doris/nereids/analyzer/MappingSlot.java | 115 +
.../org/apache/doris/nereids/analyzer/Scope.java | 37 +-
.../nereids/jobs/rewrite/PlanTreeRewriteJob.java | 18 +-
.../rules/analysis/AvgDistinctToSumDivCount.java | 2 +-
.../nereids/rules/analysis/BindExpression.java | 1223 +++--
.../nereids/rules/analysis/BindSlotWithPaths.java | 2 +-
.../nereids/rules/analysis/CheckAnalysis.java | 12 +-
.../rules/analysis/EliminateLogicalSelectHint.java | 2 +-
.../nereids/rules/analysis/ExpressionAnalyzer.java | 807 +++
.../doris/nereids/rules/analysis/SlotBinder.java | 2 +-
.../nereids/rules/analysis/SubExprAnalyzer.java | 19 +-
.../rewrite/PushDownLimitDistinctThroughUnion.java | 2 +-
.../rules/rewrite/PushProjectIntoUnion.java | 2 +-
.../rules/rewrite/PushProjectThroughUnion.java | 2 +-
.../mv/SelectMaterializedIndexWithAggregate.java | 2 +-
.../doris/nereids/trees/AbstractTreeNode.java | 10 +-
.../org/apache/doris/nereids/trees/TreeNode.java | 17 +-
.../doris/nereids/trees/expressions/CaseWhen.java | 31 +-
.../nereids/trees/expressions/Expression.java | 65 +-
.../nereids/trees/expressions/SlotReference.java | 4 +-
.../functions/ComputeSignatureHelper.java | 35 +-
.../functions/ExplicitlyCastableSignature.java | 4 +
.../expressions/functions/IdenticalSignature.java | 4 +
.../functions/ImplicitlyCastableSignature.java | 10 +-
.../functions/NullOrIdenticalSignature.java | 4 +
.../visitor/DefaultExpressionRewriter.java | 48 +-
.../trees/plans/logical/LogicalGenerate.java | 6 +-
.../nereids/trees/plans/logical/LogicalJoin.java | 6 +-
.../trees/plans/logical/LogicalOlapScan.java | 21 +-
.../trees/plans/logical/LogicalProject.java | 13 +-
.../trees/plans/logical/LogicalSetOperation.java | 30 +-
.../nereids/trees/plans/logical/LogicalUnion.java | 4 +-
.../trees/plans/visitor/InferPlanOutputAlias.java | 68 +-
.../org/apache/doris/nereids/types/ArrayType.java | 3 +-
.../org/apache/doris/nereids/types/MapType.java | 3 +-
.../org/apache/doris/nereids/types/StructType.java | 3 +-
.../apache/doris/nereids/util/ExpressionUtils.java | 169 +-
.../org/apache/doris/nereids/util/JoinUtils.java | 8 +-
.../org/apache/doris/nereids/util/PlanUtils.java | 18 +
.../doris/nereids/util/TypeCoercionUtils.java | 82 +-
.../java/org/apache/doris/nereids/util/Utils.java | 69 +
.../apache/doris/regression/RegressionTest.groovy | 11 +-
.../doris/regression/util/OutputUtils.groovy | 2 +-
52 files changed, 15165 insertions(+), 4527 deletions(-)
diff --git a/be/src/clucene b/be/src/clucene
index c5ba0a26e9c..63ae98a8bc2 160000
--- a/be/src/clucene
+++ b/be/src/clucene
@@ -1 +1 @@
-Subproject commit c5ba0a26e9cab11a85dc3c5854e9ad258fa4fdf5
+Subproject commit 63ae98a8bc280dc4728dca744c3fe06e7a38caf1
diff --git a/docs/en/docs/admin-manual/config/fe-config.md b/docs/en/docs/admin-manual/config/fe-config.md
index ac9da61ac1c..02c219a55d0 100644
--- a/docs/en/docs/admin-manual/config/fe-config.md
+++ b/docs/en/docs/admin-manual/config/fe-config.md
@@ -7,7 +7,7 @@
}
---
-<!--
+<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
@@ -38,17 +38,25 @@ After the FE process is started, it will read the configuration items in `fe.con
The location of the `fe_custom.conf` file can be configured in `fe.conf` through the `custom_config_dir` configuration item.
+## Precautions
+
+**1.** For the purpose of simplifying the architecture, modifying the configuration through the mysql protocol will only modify the data in the local FE memory, and will not synchronize the changes to all FEs.
+For Config items that only take effect on the Master FE, the modification request will be automatically forwarded to the Master FE.
+
+**2.** Note that the option ```forward_to_master``` will affect the display results of ```show frontend config```, if ```forward_to_master=true```, ```show frontend config``` shows the Config of Master FE (Even if you are connecting to a Follower FE currently), this may cause you to be unable to see the modification of the local FE configuration; if you expect show config of the FE you're connecting, then execute the command ```set forward_to_master=false```.
+
+
## View configuration items
There are two ways to view the configuration items of FE:
1. FE web page
- Open the FE web page `http://fe_host:fe_http_port/variable` in the browser. You can see the currently effective FE configuration items in `Configure Info`.
+ Open the FE web page `http://fe_host:fe_http_port/Configure` in the browser. You can see the currently effective FE configuration items in `Configure Info`.
2. View by command
- After the FE is started, you can view the configuration items of the FE in the MySQL client with the following command,Concrete language law reference [SHOW-CONFIG](../../sql-manual/sql-reference/Database-Administration-Statements/SHOW-CONFIG.md):
+ After the FE is started, you can view the configuration items of the FE in the MySQL client with the following command:
`SHOW FRONTEND CONFIG;`
@@ -82,7 +90,7 @@ There are two ways to configure FE configuration items:
**Configuration items modified in this way will become invalid after the FE process restarts.**
For more help on this command, you can view it through the `HELP ADMIN SET CONFIG;` command.
-
+
3. Dynamic configuration via HTTP protocol
For details, please refer to [Set Config Action](../http-actions/fe/set-config-action.md)
@@ -124,2653 +132,5358 @@ There are two ways to configure FE configuration items:
## Configurations
-### Metadata And Cluster
+> Note:
+>
+> The following content is automatically generated by `docs/generate-config-and-variable-doc.sh`.
+>
+> If you need to modify, please modify the description information in `fe/fe-common/src/main/java/org/apache/doris/common/Config.java`.
+
+### `abort_txn_after_lost_heartbeat_time_second`
+
+TODO
-#### `meta_dir`
+Type: `int`
-Default:DORIS_HOME_DIR + "/doris-meta"
+Default: `300`
-Type: string Description: Doris meta data will be saved here.The storage of this dir is highly recommended as to be:
+Mutable: `true`
-- High write performance (SSD)
-- Safe (RAID)
+Master only: `true`
-#### `catalog_try_lock_timeout_ms`
+### `access_control_allowed_origin_domain`
-Default:5000 (ms)
+Set the specific domain name that allows cross-domain access. By default, any domain name is allowed cross-domain access
-IsMutable:true
+Type: `String`
-The tryLock timeout configuration of catalog lock. Normally it does not need to change, unless you need to test something.
+Default: `*`
-#### `enable_bdbje_debug_mode`
+Mutable: `false`
-Default:false
+Master only: `false`
-If set to true, FE will be started in BDBJE debug mode
+### `access_controller_type`
-#### `max_bdbje_clock_delta_ms`
+Specify the default authentication class of internal catalog
-Default:5000 (5s)
+Type: `String`
-Set the maximum acceptable clock skew between non-master FE to Master FE host. This value is checked whenever a non-master FE establishes a connection to master FE via BDBJE. The connection is abandoned if the clock skew is larger than this value.
+Default: `default`
-#### `metadata_failure_recovery`
+Options: `default`, `ranger-doris`
-Default:false
+Mutable: `false`
-If true, FE will reset bdbje replication group(that is, to remove all electable nodes info) and is supposed to start as Master. If all the electable nodes can not start, we can copy the meta data to another node and set this config to true to try to restart the FE..
+Master only: `false`
-#### `txn_rollback_limit`
+### `agent_task_resend_wait_time_ms`
-Default:100
+TODO
-the max txn number which bdbje can rollback when trying to rejoin the group
+Type: `long`
-#### `grpc_threadmgr_threads_nums`
+Default: `5000`
-Default: 4096
+Mutable: `true`
-Num of thread to handle grpc events in grpc_threadmgr.
+Master only: `true`
-#### `bdbje_replica_ack_timeout_second`
+### `allow_replica_on_same_host`
-Default:10 (s)
+TODO
-The replica ack timeout when writing to bdbje , When writing some relatively large logs, the ack time may time out, resulting in log writing failure. At this time, you can increase this value appropriately.
+Type: `boolean`
-#### `bdbje_lock_timeout_second`
+Default: `false`
-Default:5
+Mutable: `false`
-The lock timeout of bdbje operation, If there are many LockTimeoutException in FE WARN log, you can try to increase this value
+Master only: `false`
-#### `bdbje_heartbeat_timeout_second`
+### `alter_table_timeout_second`
-Default:30
+Maximal timeout of ALTER TABLE request. Set long enough to fit your table data size.
-The heartbeat timeout of bdbje between master and follower. the default is 30 seconds, which is same as default value in bdbje. If the network is experiencing transient problems, of some unexpected long java GC annoying you, you can try to increase this value to decrease the chances of false timeouts
+Type: `int`
-#### `replica_ack_policy`
+Default: `2592000`
-Default:SIMPLE_MAJORITY
+Mutable: `true`
-OPTION:ALL, NONE, SIMPLE_MAJORITY
+Master only: `true`
-Replica ack policy of bdbje. more info, see: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.ReplicaAckPolicy.html
+### `analyze_record_limit`
-#### `replica_sync_policy`
+Determine the persist number of automatic triggered analyze job execution status
-Default:SYNC
+Type: `long`
-选项:SYNC, NO_SYNC, WRITE_NO_SYNC
+Default: `20000`
-Follower FE sync policy of bdbje.
+Mutable: `false`
-#### `master_sync_policy`
+Master only: `false`
-Default:SYNC
+### `arrow_flight_sql_port`
-选项:SYNC, NO_SYNC, WRITE_NO_SYNC
+The port of FE Arrow-Flight-SQL server
-Master FE sync policy of bdbje. If you only deploy one Follower FE, set this to 'SYNC'. If you deploy more than 3 Follower FE, you can set this and the following 'replica_sync_policy' to WRITE_NO_SYNC. more info, see: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.SyncPolicy.html
+Type: `int`
-#### `bdbje_reserved_disk_bytes`
+Default: `-1`
-The desired upper limit on the number of bytes of reserved space to retain in a replicated JE Environment.
+Mutable: `false`
-Default: 1073741824
+Master only: `false`
-Is it possible to dynamically configure: false
+### `arrow_flight_token_alive_time`
-Is it a configuration item unique to the Master FE node: false
+The alive time of the user token in Arrow Flight Server, expire after write, unit minutes,the default value is 4320, which is 3 days
-#### `ignore_meta_check`
+Type: `int`
-Default:false
+Default: `4320`
-IsMutable:true
+Mutable: `false`
-If true, non-master FE will ignore the meta data delay gap between Master FE and its self, even if the metadata delay gap exceeds *meta_delay_toleration_second*. Non-master FE will still offer read service.
-This is helpful when you try to stop the Master FE for a relatively long time for some reason, but still wish the non-master FE can offer read service.
+Master only: `false`
-#### `meta_delay_toleration_second`
+### `arrow_flight_token_cache_size`
-Default:300 (5 min)
+The cache limit of all user tokens in Arrow Flight Server. which will be eliminated byLRU rules after exceeding the limit, the default value is 2000.
-Non-master FE will stop offering service if meta data delay gap exceeds *meta_delay_toleration_second*
+Type: `int`
-#### `edit_log_port`
+Default: `2000`
-Default:9010
+Mutable: `false`
-bdbje port
+Master only: `false`
-#### `edit_log_type`
+### `async_loading_load_task_pool_size`
-Default:BDB
+The loading load task executor pool size. This pool size limits the max running loading load tasks.
-Edit log type.
-BDB: write log to bdbje
-LOCAL: deprecated..
+Type: `int`
-#### `edit_log_roll_num`
+Default: `10`
-Default:50000
+Mutable: `false`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `async_pending_load_task_pool_size`
-Master FE will save image every *edit_log_roll_num* meta journals.
+The pending load task executor pool size. This pool size limits the max running pending load tasks.
-#### `force_do_metadata_checkpoint`
+Type: `int`
-Default:false
+Default: `10`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `true`
-If set to true, the checkpoint thread will make the checkpoint regardless of the jvm memory used percent
+### `async_task_consumer_thread_num`
-#### `metadata_checkpoint_memory_threshold`
+TODO
-Default:60 (60%)
+Type: `int`
-IsMutable:true
+Default: `5`
-MasterOnly:true
+Mutable: `false`
-If the jvm memory used percent(heap or old mem pool) exceed this threshold, checkpoint thread will not work to avoid OOM.
+Master only: `false`
-#### `max_same_name_catalog_trash_num`
+### `async_task_queen_size`
-It is used to set the maximum number of meta information with the same name in the catalog recycle bin. When the maximum value is exceeded, the earliest deleted meta trash will be completely deleted and cannot be recovered. 0 means not to keep objects of the same name. < 0 means no limit.
+TODO
-Note: The judgment of metadata with the same name will be limited to a certain range. For example, the judgment of the database with the same name will be limited to the same cluster, the judgment of the table with the same name will be limited to the same database (with the same database id), the judgment of the partition with the same name will be limited to the same database (with the same database id) and the same table (with the same table) same table id).
+Type: `int`
-Default: 3
+Default: `1024`
-Is it possible to dynamically configure: true
+Mutable: `false`
-Is it a configuration item unique to the Master FE node: true
+Master only: `false`
-#### `cluster_id`
+### `audit_log_delete_age`
-Default:-1
+The maximum survival time of the FE audit log file. After exceeding this time, the log file will be deleted. Supported formats include: 7d, 10h, 60m, 120s
-node(FE or BE) will be considered belonging to the same Palo cluster if they have same cluster id. Cluster id is usually a random integer generated when master FE start at first time. You can also specify one.
+Type: `String`
-#### `heartbeat_mgr_blocking_queue_size`
+Default: `30d`
-Default:1024
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-blocking queue size to store heartbeat task in heartbeat_mgr.
+### `audit_log_dir`
-#### `heartbeat_mgr_threads_num`
+The path of the FE audit log file, used to store fe.audit.log
-Default:8
+Type: `String`
-MasterOnly:true
+Default: `null/log`
-num of thread to handle heartbeat events in heartbeat_mgr.
+Mutable: `false`
-#### `disable_cluster_feature`
+Master only: `false`
-Default:true
+### `audit_log_enable_compress`
-IsMutable:true
+enable compression for FE audit log file
-The multi cluster feature will be deprecated in version 0.12 ,set this config to true will disable all operations related to cluster feature, include:
+Type: `boolean`
-1. create/drop cluster
-2. add free backend/add backend to cluster/decommission cluster balance
-3. change the backends num of cluster
-4. link/migration db
+Default: `false`
-#### `enable_deploy_manager`
+Mutable: `false`
-Default:disable
+Master only: `false`
-Set to true if you deploy Doris using thirdparty deploy manager
+### `audit_log_modules`
-Valid options are:
+The type of FE audit log file
-- disable: no deploy manager
-- k8s: Kubernetes
-- ambari: Ambari
-- local: Local File (for test or Boxer2 BCC version)
+Type: `String[]`
-#### `with_k8s_certs`
+Default: `[slow_query, query, load, stream_load]`
-Default:false
+Options: `slow_query`, `query`, `load`, `stream_load`
-If use k8s deploy manager locally, set this to true and prepare the certs files
+Mutable: `false`
-#### `enable_fqdn_mode`
+Master only: `false`
-This configuration is mainly used in the k8s cluster environment. When enable_fqdn_mode is true, the name of the pod where the be is located will remain unchanged after reconstruction, while the ip can be changed.
+### `audit_log_roll_interval`
-Default: false
+The split cycle of the FE audit log file
-Is it possible to dynamically configure: false
+Type: `String`
-Is it a configuration item unique to the Master FE node: true
+Default: `DAY`
-#### `enable_token_check`
+Options: `DAY`, `HOUR`
-Default:true
+Mutable: `false`
-For forward compatibility, will be removed later. check token when download image file.
+Master only: `false`
-#### `enable_multi_tags`
+### `audit_log_roll_num`
-Default: false
+The maximum number of FE audit log files. After exceeding this number, the oldest log file will be deleted
-Is it possible to dynamically configure: false
+Type: `int`
-Is it a configuration item unique to the Master FE node: true
+Default: `90`
-Whether to enable the multi-tags function of a single BE
+Mutable: `false`
-#### `initial_root_password`
+Master only: `false`
-Set root user initial 2-staged SHA-1 encrypted password, default as '', means no root password. Subsequent `set password` operations for root user will overwrite the initial root password.
+### `auth_token`
-Example: If you want to configure a plaintext password `root@123`. You can execute Doris SQL `select password('root@123')` to generate encrypted password `*A00C34073A26B40AB4307650BFB9309D6BFA6999`.
+Cluster token used for internal authentication.
-Default: empty string
+Type: `String`
-Is it possible to dynamically configure: false
+Default: ``
-Is it a configuration item unique to the Master FE node: true
+Mutable: `false`
-### Service
+Master only: `false`
-#### `query_port`
+### `auto_analyze_simultaneously_running_task_num`
-Default:9030
+TODO
-FE MySQL server port
+Type: `int`
-#### `arrow_flight_sql_port`
+Default: `1`
-Default:-1
+Mutable: `false`
-Arrow Flight SQL server port
+Master only: `false`
-#### `frontend_address`
+### `auto_check_statistics_in_minutes`
-Status: Deprecated, not recommended use. This parameter may be deleted later
+This parameter controls the time interval for automatic collection jobs to check the health of tablestatistics and trigger automatic collection
-Type: string
+Type: `int`
-Description: Explicitly set the IP address of FE instead of using *InetAddress.getByName* to get the IP address. Usually in *InetAddress.getByName* When the expected results cannot be obtained. Only IP address is supported, not hostname.
+Default: `5`
-Default value: 0.0.0.0
+Mutable: `true`
-#### `priority_networks`
+Master only: `true`
-Default:none
+### `autobucket_min_buckets`
-Declare a selection strategy for those servers have many ips. Note that there should at most one ip match this list. this is a list in semicolon-delimited format, in CIDR notation, e.g. 10.10.10.0/24 , If no ip match this rule, will choose one randomly.
+min buckets of auto bucket
-#### `http_port`
+Type: `int`
-Default:8030
+Default: `1`
-HTTP bind port. All FE http ports must be same currently.
+Mutable: `false`
-#### `https_port`
+Master only: `false`
-Default:8050
+### `backend_load_capacity_coeficient`
-HTTPS bind port. All FE https ports must be same currently.
+Sets a fixed disk usage factor in the BE load fraction. The BE load score is a combination of disk usage and replica count. The valid value range is [0, 1]. When it is out of this range, other methods are used to automatically calculate this coefficient.
-#### `enable_https`
+Type: `double`
-Default:false
+Default: `-1.0`
-Https enable flag. If the value is false, http is supported. Otherwise, both http and https are supported, and http requests are automatically redirected to https.
-If enable_https is true, you need to configure ssl certificate information in fe.conf.
+Mutable: `true`
-#### `enable_ssl`
+Master only: `true`
-Default:true
+### `backend_proxy_num`
-If set to true, doris will establish an encrypted channel based on the SSL protocol with mysql.
+BackendServiceProxy pool size for pooling GRPC channels.
-#### `qe_max_connection`
+Type: `int`
-Default:1024
+Default: `48`
-Maximal number of connections per FE.
+Mutable: `false`
-#### `check_java_version`
+Master only: `false`
-Default:true
+### `backend_rpc_timeout_ms`
-Doris will check whether the compiled and run Java versions are compatible, if not, it will throw a Java version mismatch exception message and terminate the startup
+TODO
-#### `rpc_port`
+Type: `int`
-Default:9020
+Default: `60000`
-FE Thrift Server port
+Mutable: `false`
-#### `thrift_server_type`
+Master only: `true`
-This configuration represents the service model used by The Thrift Service of FE, is of type String and is case-insensitive.
+### `backup_job_default_timeout_ms`
-If this parameter is 'SIMPLE', then the 'TSimpleServer' model is used, which is generally not suitable for production and is limited to test use.
+TODO
-If the parameter is 'THREADED', then the 'TThreadedSelectorServer' model is used, which is a non-blocking I/O model, namely the master-slave Reactor model, which can timely respond to a large number of concurrent connection requests and performs well in most scenarios.
+Type: `int`
-If this parameter is `THREAD_POOL`, then the `TThreadPoolServer` model is used, the model for blocking I/O model, use the thread pool to handle user connections, the number of simultaneous connections are limited by the number of thread pool, if we can estimate the number of concurrent requests in advance, and tolerant enough thread resources cost, this model will have a better performance, the service model is used by default
+Default: `86400000`
-#### `thrift_server_max_worker_threads`
+Mutable: `true`
-Default:4096
+Master only: `true`
-The thrift server max worker threads
+### `backup_plugin_path`
-#### `thrift_backlog_num`
+TODO
-Default:1024
+Type: `String`
-The backlog_num for thrift server , When you enlarge this backlog_num, you should ensure it's value larger than the linux /proc/sys/net/core/somaxconn config
+Default: `/tools/trans_file_tool/trans_files.sh`
-#### `thrift_client_timeout_ms`
+Mutable: `false`
-Default:0
+Master only: `false`
-The connection timeout and socket timeout config for thrift server.
+### `backup_upload_task_num_per_be`
-The value for thrift_client_timeout_ms is set to be zero to prevent read timeout.
+The max number of upload tasks assigned to each be during the backup process, the default value is 3.
-#### `use_compact_thrift_rpc`
+Type: `int`
-Default: true
+Default: `3`
-Whether to use compressed format to send query plan structure. After it is turned on, the size of the query plan structure can be reduced by about 50%, thereby avoiding some "send fragment timeout" errors.
-However, in some high-concurrency small query scenarios, the concurrency may be reduced by about 10%.
+Mutable: `true`
-#### `grpc_max_message_size_bytes`
+Master only: `true`
-Default:1G
+### `balance_be_then_disk`
-Used to set the initial flow window size of the GRPC client channel, and also used to max message size. When the result set is large, you may need to increase this value.
+TODO
-#### `max_mysql_service_task_threads_num`
+Type: `boolean`
-Default:4096
+Default: `true`
-The number of threads responsible for Task events.
+Mutable: `true`
-#### `mysql_service_io_threads_num`
+Master only: `true`
-Default:4
+### `balance_load_score_threshold`
-When FE starts the MySQL server based on NIO model, the number of threads responsible for IO events.
+TODO
-#### `mysql_nio_backlog_num`
+Type: `double`
-Default:1024
+Default: `0.1`
-The backlog_num for mysql nio server, When you enlarge this backlog_num, you should enlarge the value in the linux /proc/sys/net/core/somaxconn file at the same time
+Mutable: `true`
-#### `broker_timeout_ms`
+Master only: `true`
-Default:10000 (10s)
+### `balance_slot_num_per_path`
-Default broker RPC timeout
+TODO
-#### `backend_rpc_timeout_ms`
+Type: `int`
-Timeout millisecond for Fe sending rpc request to BE
+Default: `1`
-Default: 60000
+Mutable: `true`
-Is it possible to dynamically configure: false
+Master only: `true`
-Is it a configuration item unique to the Master FE node: true
+### `bdbje_file_logging_level`
-#### `drop_backend_after_decommission`
+TODO
-Default:false
+Type: `String`
-IsMutable:true
+Default: `INFO`
-MasterOnly:true
+Mutable: `false`
-1. This configuration is used to control whether the system drops the BE after successfully decommissioning the BE. If true, the BE node will be deleted after the BE is successfully offline. If false, after the BE successfully goes offline, the BE will remain in the DECOMMISSION state, but will not be dropped.
+Master only: `false`
- This configuration can play a role in certain scenarios. Assume that the initial state of a Doris cluster is one disk per BE node. After running for a period of time, the system has been vertically expanded, that is, each BE node adds 2 new disks. Because Doris currently does not support data balancing among the disks within the BE, the data volume of the initial disk may always be much higher than the data volume of the newly added disk. At this time, we can perform manual inter-disk [...]
+### `bdbje_free_disk_bytes`
- 1. Set the configuration item to false.
- 2. Perform a decommission operation on a certain BE node. This operation will migrate all data on the BE to other nodes.
- 3. After the decommission operation is completed, the BE will not be dropped. At this time, cancel the decommission status of the BE. Then the data will start to balance from other BE nodes back to this node. At this time, the data will be evenly distributed to all disks of the BE.
- 4. Perform steps 2 and 3 for all BE nodes in sequence, and finally achieve the purpose of disk balancing for all nodes
+Amount of free disk space required by BDBJE. If the free disk space is less than this value, BDBJE will not be able to write.
-#### `max_backend_down_time_second`
+Type: `long`
-Default:3600 (1 hour)
+Default: `1073741824`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-If a backend is down for *max_backend_down_time_second*, a BACKEND_DOWN event will be triggered.
+### `bdbje_heartbeat_timeout_second`
-#### `disable_backend_black_list`
+The heartbeat timeout of bdbje between master and follower, in seconds. The default is 30 seconds, which is same as default value in bdbje. If the network is experiencing transient problems, of some unexpected long java GC annoying you, you can try to increase this value to decrease the chances of false timeouts
-Used to disable the BE blacklist function. After this function is disabled, if the query request to the BE fails, the BE will not be added to the blacklist.
-This parameter is suitable for regression testing environments to reduce occasional bugs that cause a large number of regression tests to fail.
+Type: `int`
-Default: false
+Default: `30`
-Is it possible to configure dynamically: true
+Mutable: `false`
-Is it a configuration item unique to the Master FE node: false
+Master only: `false`
-#### `max_backend_heartbeat_failure_tolerance_count`
+### `bdbje_lock_timeout_second`
-The maximum tolerable number of BE node heartbeat failures. If the number of consecutive heartbeat failures exceeds this value, the BE state will be set to dead.
-This parameter is suitable for regression test environments to reduce occasional heartbeat failures that cause a large number of regression test failures.
+The lock timeout of bdbje operation, in seconds. If there are many LockTimeoutException in FE WARN log, you can try to increase this value
-Default: 1
+Type: `int`
-Is it possible to configure dynamically: true
+Default: `5`
-Whether it is a configuration item unique to the Master FE node: true
+Mutable: `false`
-### `abort_txn_after_lost_heartbeat_time_second`
+Master only: `false`
-Abort transaction time after lost heartbeat. The default value is 300, which means transactions of be will be aborted after lost heartbeat 300s.
+### `bdbje_replica_ack_timeout_second`
-Default: 300(s)
+The replica ack timeout of bdbje between master and follower, in seconds. If there are many ReplicaWriteException in FE WARN log, you can try to increase this value
-Is it possible to configure dynamically: true
+Type: `int`
-Whether it is a configuration item unique to the Master FE node: true
+Default: `10`
-#### `enable_access_file_without_broker`
+Mutable: `false`
-Default:false
+Master only: `false`
-IsMutable:true
+### `bdbje_reserved_disk_bytes`
-MasterOnly:true
+The desired upper limit on the number of bytes of reserved space to retain in a replicated JE Environment. This parameter is ignored in a non-replicated JE Environment.
-This config is used to try skip broker when access bos or other cloud storage via broker
+Type: `long`
-#### `agent_task_resend_wait_time_ms`
+Default: `1073741824`
-Default:5000
+Mutable: `false`
-IsMutable:true
+Master only: `false`
-MasterOnly:true
+### `be_exec_version`
-This configuration will decide whether to resend agent task when create_time for agent_task is set, only when current_time - create_time > agent_task_resend_wait_time_ms can ReportHandler do resend agent task.
+TODO
-This configuration is currently mainly used to solve the problem of repeated sending of `PUBLISH_VERSION` agent tasks. The current default value of this configuration is 5000, which is an experimental value.
+Type: `int`
-Because there is a certain time delay between submitting agent tasks to AgentTaskQueue and submitting to be, Increasing the value of this configuration can effectively solve the problem of repeated sending of agent tasks,
+Default: `3`
-But at the same time, it will cause the submission of failed or failed execution of the agent task to be executed again for an extended period of time
+Mutable: `true`
-#### `max_agent_task_threads_num`
+Master only: `true`
-Default:4096
+### `be_rebalancer_fuzzy_test`
-MasterOnly:true
+TODO
-max num of thread to handle agent task in agent task thread-pool.
+Type: `boolean`
-#### `remote_fragment_exec_timeout_ms`
+Default: `false`
-Default:30000 (ms)
+Mutable: `true`
-IsMutable:true
+Master only: `true`
-The timeout of executing async remote fragment. In normal case, the async remote fragment will be executed in a short time. If system are under high load condition,try to set this timeout longer.
+### `be_rebalancer_idle_seconds`
-#### `auth_token`
+TODO
-Default:empty
+Type: `int`
-Cluster token used for internal authentication.
+Default: `0`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `be_report_query_statistics_timeout_ms`
+
+TODO
+
+Type: `int`
+
+Default: `60000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `blacklist_duration_second`
+
+TODO
+
+Type: `int`
+
+Default: `120`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `broker_load_default_timeout_second`
+
+Default timeout for broker load job, in seconds.
+
+Type: `int`
+
+Default: `14400`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `broker_timeout_ms`
+
+The timeout of RPC between FE and Broker, in milliseconds
+
+Type: `int`
+
+Default: `10000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `cache_enable_partition_mode`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `cache_enable_sql_mode`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `cache_last_version_interval_second`
+
+TODO
+
+Type: `int`
+
+Default: `30`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `cache_result_max_data_size`
+
+Maximum data size of rows that can be cached in SQL/Partition Cache, is 3000 by default.
+
+Type: `int`
+
+Default: `31457280`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `cache_result_max_row_count`
+
+Maximum number of rows that can be cached in SQL/Partition Cache, is 3000 by default.
+
+Type: `int`
+
+Default: `3000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `capacity_used_percent_high_water`
+
+The high water of disk capacity used percent. This is used for calculating load score of a backend.
+
+Type: `double`
+
+Default: `0.75`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `catalog_trash_expire_second`
+
+After dropping database(table/partition), you can recover it by using RECOVER stmt.
+
+Type: `long`
+
+Default: `86400`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `catalog_trash_ignore_min_erase_latency`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `catalog_try_lock_timeout_ms`
+
+TODO
+
+Type: `long`
+
+Default: `5000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `cbo_concurrency_statistics_task_num`
+
+TODO
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `cbo_default_sample_percentage`
+
+TODO
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `cbo_max_statistics_job_num`
+
+TODO
+
+Type: `int`
+
+Default: `20`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `check_consistency_default_timeout_second`
+
+Default timeout of a single consistency check task. Set long enough to fit your tablet size.
+
+Type: `long`
+
+Default: `600`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `check_java_version`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `check_table_lock_leaky`
+
+Whether to check table lock leaky
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `false`
-#### `enable_http_server_v2`
+Master only: `false`
-Default:The default is true after the official 0.14.0 version is released, and the default is false before
+### `check_wal_queue_timeout_threshold`
-HTTP Server V2 is implemented by SpringBoot. It uses an architecture that separates the front and back ends. Only when HTTPv2 is enabled can users use the new front-end UI interface.
+the timeout threshold of checking wal_queue on be(ms)
-#### `http_api_extra_base_path`
+Type: `int`
-In some deployment environments, user need to specify an additional base path as the unified prefix of the HTTP API. This parameter is used by the user to specify additional prefixes.
-After setting, user can get the parameter value through the `GET /api/basepath` interface. And the new UI will also try to get this base path first to assemble the URL. Only valid when `enable_http_server_v2` is true.
+Default: `180000`
-The default is empty, that is, not set
+Mutable: `false`
-#### `jetty_server_acceptors`
+Master only: `false`
-Default:2
+### `cloud_cluster_check_interval_second`
-#### `jetty_server_selectors`
+TODO
-Default:4
+Type: `int`
-#### `jetty_server_workers`
+Default: `10`
-Default:0
+Mutable: `false`
-With the above three parameters, Jetty's thread architecture model is very simple, divided into acceptors, selectors and workers three thread pools. Acceptors are responsible for accepting new connections, and then hand them over to selectors to process the unpacking of the HTTP message protocol, and finally workers process the request. The first two thread pools adopt a non-blocking model, and one thread can handle the read and write of many sockets, so the number of thread pools is small.
+Master only: `false`
-For most projects, only 1-2 acceptors threads are required, and 2 to 4 selectors threads are sufficient. Workers are obstructive business logic, often have more database operations, and require a large number of threads. The specific number depends on the proportion of QPS and IO events of the application. The higher the QPS, the more threads are required, the higher the proportion of IO, the more threads waiting, and the more total threads required.
+### `cloud_cold_read_percent`
-Worker thread pool is not set by default, set according to your needs
+TODO
-#### `jetty_server_max_http_post_size`
+Type: `int`
-Default:`100 * 1024 * 1024` (100MB)
+Default: `10`
-This is the maximum number of bytes of the file uploaded by the put or post method, the default value: 100MB
+Mutable: `true`
-#### `jetty_server_max_http_header_size`
+Master only: `false`
-Default:1048576 (1M)
+### `cloud_meta_service_rpc_failed_retry_times`
-http header size configuration parameter, the default value is 1M.
+TODO
-#### `http_sql_submitter_max_worker_threads`
+Type: `int`
-Default:2
+Default: `200`
-The max number work threads of http sql submitter
+Mutable: `false`
-#### `http_load_submitter_max_worker_threads`
+Master only: `false`
-Default:2
+### `cloud_replica_num`
-The max number work threads of http upload submitter
+TODO
-### Query Engine
+Type: `int`
-#### `default_max_query_instances`
+Default: `3`
-The default value when user property max_query_instances is equal or less than 0. This config is used to limit the max number of instances for a user. This parameter is less than or equal to 0 means unlimited.
+Mutable: `true`
-The default value is -1
+Master only: `false`
-#### `max_query_retry_time`
+### `cloud_sql_server_cluster_id`
-Default:1
+TODO
-IsMutable:true
+Type: `String`
-The number of query retries. A query may retry if we encounter RPC exception and no result has been sent to user. You may reduce this number to avoid Avalanche disaster
+Default: `RESERVED_CLUSTER_ID_FOR_SQL_SERVER`
-#### `max_dynamic_partition_num`
+Mutable: `false`
-Default:500
+Master only: `false`
-IsMutable:true
+### `cloud_sql_server_cluster_name`
-MasterOnly:true
+TODO
-Used to limit the maximum number of partitions that can be created when creating a dynamic partition table, to avoid creating too many partitions at one time. The number is determined by "start" and "end" in the dynamic partition parameters.
+Type: `String`
-#### `dynamic_partition_enable`
+Default: `RESERVED_CLUSTER_NAME_FOR_SQL_SERVER`
-Default:true
+Mutable: `false`
-IsMutable:true
+Master only: `false`
-MasterOnly:true
+### `cloud_unique_id`
-Whether to enable dynamic partition scheduler, enabled by default
+TODO
-#### `dynamic_partition_check_interval_seconds`
+Type: `String`
-Default:600 (s)
+Default: ``
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-Decide how often to check dynamic partition
+### `cluster_id`
-<version since="1.2.0">
+Cluster id used for internal authentication. Usually a random integer generated when master FE start at first time. You can also specify one.
-#### `max_multi_partition_num`
+Type: `int`
-Default:4096
+Default: `-1`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-Use this parameter to set the partition name prefix for multi partition,Only multi partition takes effect, not dynamic partitions. The default prefix is "p_".
-</version>
+### `colocate_group_relocate_delay_second`
-#### `multi_partition_name_prefix`
+TODO
-Default:p_
+Type: `long`
-IsMutable:true
+Default: `1800`
-MasterOnly:true
+Mutable: `true`
-Use this parameter to set the partition name prefix for multi partition, Only multi partition takes effect, not dynamic partitions.The default prefix is "p_".
+Master only: `true`
-#### `partition_in_memory_update_interval_secs`
+### `commit_timeout_second`
-Default:300 (s)
+Maximal waiting time for all data inserted before one transaction to be committed, in seconds. This parameter is only used for transactional insert operation
-IsMutable:true
+Type: `int`
-MasterOnly:true
+Default: `30`
-Time to update global partition information in memory
+Mutable: `true`
-#### `enable_concurrent_update`
+Master only: `true`
-Default:false
+### `consistency_check_end_time`
-IsMutable:false
+End time of consistency check. Used with `consistency_check_start_time` to decide the start and end time of consistency check. If set to the same value, consistency check will not be scheduled.
-MasterOnly:true
+Type: `String`
-Whether to enable concurrent update
+Default: `23`
-#### `lower_case_table_names`
+Mutable: `true`
-Default:0
+Master only: `true`
-IsMutable:false
+### `consistency_check_start_time`
-MasterOnly:true
+Start time of consistency check. Used with `consistency_check_end_time` to decide the start and end time of consistency check. If set to the same value, consistency check will not be scheduled.
-This configuration can only be configured during cluster initialization and cannot be modified during cluster
-restart and upgrade after initialization is complete.
+Type: `String`
-0: table names are stored as specified and comparisons are case sensitive.
-1: table names are stored in lowercase and comparisons are not case sensitive.
-2: table names are stored as given but compared in lowercase.
+Default: `23`
-#### `table_name_length_limit`
+Mutable: `true`
-Default:64
+Master only: `true`
-IsMutable:true
+### `cpu_resource_limit_per_analyze_task`
-MasterOnly:true
+TODO
-Used to control the maximum table name length
+Type: `int`
-#### `cache_enable_sql_mode`
+Default: `1`
-Default:true
+Mutable: `false`
-IsMutable:true
+Master only: `false`
-MasterOnly:false
+### `create_tablet_round_robin_from_start`
-If this switch is turned on, the SQL query result set will be cached. If the interval between the last visit version time in all partitions of all tables in the query is greater than cache_last_version_interval_second, and the result set is less than cache_result_max_row_count, and the data size is less than cache_result_max_data_size, the result set will be cached, and the next same SQL will hit the cache
+When creating tablet of a partition, always start from the first BE. Note: This method may cause BE imbalance
-If set to true, fe will enable sql result caching. This option is suitable for offline data update scenarios
+Type: `boolean`
-| | case1 | case2 | case3 | case4 |
-| ---------------------- | ----- | ----- | ----- | ----- |
-| enable_sql_cache | false | true | true | false |
-| enable_partition_cache | false | false | true | true |
+Default: `false`
-#### `cache_enable_partition_mode`
+Mutable: `true`
-Default:true
+Master only: `true`
-IsMutable:true
+### `custom_config_dir`
-MasterOnly:false
+The path of the user-defined configuration file, used to store fe_custom.conf. The configuration in this file will override the configuration in fe.conf
-If set to true, fe will get data from be cache, This option is suitable for real-time updating of partial partitions.
+Type: `String`
-#### `cache_result_max_row_count`
+Default: `${Env.DORIS_HOME}/conf`
-Default:3000
+Mutable: `false`
-IsMutable:true
+Master only: `false`
-MasterOnly:false
+### `db_used_data_quota_update_interval_secs`
-In order to avoid occupying too much memory, the maximum number of rows that can be cached is 3000 by default. If this threshold is exceeded, the cache cannot be set
+TODO
-#### `cache_result_max_data_size`
+Type: `int`
-Default: 31457280
+Default: `300`
-IsMutable: true
+Mutable: `false`
-MasterOnly: false
+Master only: `true`
-In order to avoid occupying too much memory, the maximum data size of rows that can be cached is 10MB by default. If this threshold is exceeded, the cache cannot be set
+### `decommission_tablet_check_threshold`
-#### `cache_last_version_interval_second`
+TODO
-Default:30
+Type: `int`
-IsMutable:true
+Default: `5000`
-MasterOnly:false
+Mutable: `true`
-The time interval of the latest partitioned version of the table refers to the time interval between the data update and the current version. It is generally set to 900 seconds, which distinguishes offline and real-time import
+Master only: `true`
-#### `enable_batch_delete_by_default`
+### `decommission_tablet_wait_time_seconds`
-Default:false
+TODO
-IsMutable:true
+Type: `int`
-MasterOnly:true
+Default: `3600`
-Whether to add a delete sign column when create unique table
+Mutable: `true`
-#### `max_allowed_in_element_num_of_delete`
+Master only: `true`
-Default:1024
+### `default_db_data_quota_bytes`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `long`
-This configuration is used to limit element num of InPredicate in delete statement.
+Default: `1125899906842624`
-#### `max_running_rollup_job_num_per_table`
+Mutable: `true`
-Default:1
+Master only: `true`
-IsMutable:true
+### `default_db_max_running_txn_num`
-MasterOnly:true
+TODO
-Control the concurrency limit of Rollup jobs
+Type: `long`
-#### `max_distribution_pruner_recursion_depth`
+Default: `-1`
-Default:100
+Mutable: `true`
-IsMutable:true
+Master only: `true`
-MasterOnly:false
+### `default_db_replica_quota_size`
-This will limit the max recursion depth of hash distribution pruner.
-eg: where a in (5 elements) and b in (4 elements) and c in (3 elements) and d in (2 elements).
-a/b/c/d are distribution columns, so the recursion depth will be 5 * 4 * 3 * 2 = 120, larger than 100,
-So that distribution pruner will no work and just return all buckets.
-Increase the depth can support distribution pruning for more elements, but may cost more CPU.
+TODO
-#### `enable_local_replica_selection`
+Type: `long`
-Default:false
+Default: `1073741824`
-IsMutable:true
+Mutable: `true`
-If set to true, Planner will try to select replica of tablet on same host as this Frontend.
-This may reduce network transmission in following case:
+Master only: `true`
-- N hosts with N Backends and N Frontends deployed.
+### `default_get_version_from_ms_timeout_second`
-- The data has N replicas.
+TODO
-- High concurrency queries are evenly sent to all Frontends evenly
+Type: `int`
-In this case, all Frontends can only use local replicas to do the query. If you want to allow fallback to non-local replicas when no local replicas available, set enable_local_replica_selection_fallback to true.
+Default: `3`
-#### `enable_local_replica_selection_fallback`
+Mutable: `false`
-Default:false
+Master only: `false`
-IsMutable:true
+### `default_load_parallelism`
-Used with enable_local_replica_selection. If the local replicas is not available, fallback to the non-local replicas.
+The default parallelism of the load execution plan on a single node when the broker load is submitted
-#### `expr_depth_limit`
+Type: `int`
-Default:3000
+Default: `8`
-IsMutable:true
+Mutable: `true`
-Limit on the depth of an expr tree. Exceed this limit may cause long analysis time while holding db read lock. Do not set this if you know what you are doing
+Master only: `true`
-#### `expr_children_limit`
+### `default_max_filter_ratio`
-Default:10000
+TODO
-IsMutable:true
+Type: `double`
-Limit on the number of expr children of an expr tree. Exceed this limit may cause long analysis time while holding database read lock.
+Default: `0.0`
-#### `be_exec_version`
+Mutable: `true`
-Used to define the serialization format for passing blocks between fragments.
+Master only: `true`
-Sometimes some of our code changes will change the data format of the block. In order to make the BE compatible with each other during the rolling upgrade process, we need to issue a data version from the FE to decide what format to send the data in.
+### `default_max_query_instances`
-Specifically, for example, there are 2 BEs in the cluster, one of which can support the latest $v_1$ after being upgraded, while the other only supports $v_0$. At this time, since the FE has not been upgraded yet, $v_0 is issued uniformly. $, BE interact in the old data format. After all BEs are upgraded, we will upgrade FE. At this time, the new FE will issue $v_1$, and the cluster will be uniformly switched to the new data format.
+TODO
+Type: `int`
-The default value is `max_be_exec_version`. If there are special needs, we can manually set the format version to lower, but it should not be lower than `min_be_exec_version`.
+Default: `-1`
-Note that we should always keep the value of this variable between `BeExecVersionManager::min_be_exec_version` and `BeExecVersionManager::max_be_exec_version` for all BEs. (That is to say, if a cluster that has completed the update needs to be downgraded, it should ensure the order of downgrading FE and then downgrading BE, or manually lower the variable in the settings and downgrade BE)
+Mutable: `true`
-#### `max_be_exec_version`
+Master only: `false`
-The latest data version currently supported, cannot be modified, and should be consistent with the `BeExecVersionManager::max_be_exec_version` in the BE of the matching version.
+### `default_schema_change_scheduler_interval_millisecond`
-#### `min_be_exec_version`
+TODO
-The oldest data version currently supported, which cannot be modified, should be consistent with the `BeExecVersionManager::min_be_exec_version` in the BE of the matching version.
+Type: `int`
-#### `max_query_profile_num`
+Default: `500`
-The max number of query profile.
+Mutable: `false`
-Default: 100
+Master only: `true`
-Is it possible to dynamically configure: true
+### `default_storage_medium`
-Is it a configuration item unique to the Master FE node: false
+When create a table(or partition), you can specify its storage medium(HDD or SSD).
-#### `publish_version_interval_ms`
+Type: `String`
-Default:10 (ms)
+Default: `HDD`
-minimal intervals between two publish version action
+Mutable: `false`
-#### `publish_version_timeout_second`
+Master only: `false`
-Default:30 (s)
+### `delete_job_max_timeout_second`
-IsMutable:true
+Maximal timeout for delete job, in seconds.
+
+Type: `int`
+
+Default: `300`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `desired_max_waiting_jobs`
+
+Maximal number of waiting jobs for Broker Load. This is a desired number. In some situation, such as switch the master, the current number is maybe more than this value.
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `diagnose_balance_max_tablet_num_diff`
+
+The maximum difference in the number of tablets of each BE in partition rebalance mode. If it is less than this value, it will be diagnosed as balanced.
+
+Type: `int`
+
+Default: `50`
+
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-Maximal waiting time for all publish version tasks of one transaction to be finished
+### `diagnose_balance_max_tablet_num_ratio`
-#### `query_colocate_join_memory_limit_penalty_factor`
+The maximum ratio of the number of tablets in each BE in partition rebalance mode. If it is less than this value, it will be diagnosed as balanced.
-Default:1
+Type: `double`
-IsMutable:true
+Default: `1.1`
-Colocote join PlanFragment instance的memory_limit = exec_mem_limit / min (query_colocate_join_memory_limit_penalty_factor, instance_num)
+Mutable: `true`
-#### `rewrite_count_distinct_to_bitmap_hll`
+Master only: `true`
-Default: true
+### `disable_backend_black_list`
-This variable is a session variable, and the session level takes effect.
+TODO
-- Type: boolean
-- Description: **Only for the table of the AGG model**, when the variable is true, when the user query contains aggregate functions such as count(distinct c1), if the type of the c1 column itself is bitmap, count distinct will be rewritten It is bitmap_union_count(c1). When the type of the c1 column itself is hll, count distinct will be rewritten as hll_union_agg(c1) If the variable is false, no overwriting occurs..
+Type: `boolean`
-### Load And Export
+Default: `false`
-#### `enable_vectorized_load`
+Mutable: `true`
-Default: true
+Master only: `false`
-Whether to enable vectorized load
+### `disable_balance`
-#### `enable_new_load_scan_node`
+TODO
-Default: true
+Type: `boolean`
-Whether to enable file scan node
+Default: `false`
-#### `default_max_filter_ratio`
+Mutable: `true`
-Default:0
+Master only: `true`
-IsMutable:true
+### `disable_colocate_balance`
-MasterOnly:true
+TODO
-Maximum percentage of data that can be filtered (due to reasons such as data is irregularly) , The default value is 0.
+Type: `boolean`
-#### `max_running_txn_num_per_db`
+Default: `false`
-Default:1000
+Mutable: `true`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `disable_colocate_balance_between_groups`
-This configuration is mainly used to control the number of concurrent load jobs of the same database.
+is allow colocate balance between all groups
-When there are too many load jobs running in the cluster, the newly submitted load jobs may report errors:
+Type: `boolean`
-```text
-current running txns on db xxx is xx, larger than limit xx
-```
+Default: `false`
-When this error is encountered, it means that the load jobs currently running in the cluster exceeds the configuration value. At this time, it is recommended to wait on the business side and retry the load jobs.
+Mutable: `true`
-If you use the Connector, the value of this parameter can be adjusted appropriately, and there is no problem with thousands
+Master only: `true`
-#### `using_old_load_usage_pattern`
+### `disable_datev1`
-Default:false
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `true`
-If set to true, the insert stmt with processing error will still return a label to user. And user can use this label to check the load job's status. The default value is false, which means if insert operation encounter errors, exception will be thrown to user client directly without load label.
+Mutable: `true`
-#### `disable_load_job`
+Master only: `false`
-Default:false
+### `disable_decimalv2`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-if this is set to true
+Default: `true`
-- all pending load job will failed when call begin txn api
-- all prepare load job will failed when call commit txn api
-- all committed load job will waiting to be published
+Mutable: `true`
-#### `commit_timeout_second`
+Master only: `false`
-Default:30
+### `disable_disk_balance`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-Maximal waiting time for all data inserted before one transaction to be committed
-This is the timeout second for the command "commit"
+Default: `false`
-#### `max_unfinished_load_job`
+Mutable: `true`
-Default:1000
+Master only: `true`
-IsMutable:true
+### `disable_hadoop_load`
-MasterOnly:true
+TODO
-Max number of load jobs, include PENDING、ETL、LOADING、QUORUM_FINISHED. If exceed this number, load job is not allowed to be submitted
+Type: `boolean`
-#### `db_used_data_quota_update_interval_secs`
+Default: `false`
-Default:300 (s)
+Mutable: `true`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `disable_load_job`
-One master daemon thread will update database used data quota for db txn manager every `db_used_data_quota_update_interval_secs`
+TODO
-For better data load performance, in the check of whether the amount of data used by the database before data load exceeds the quota, we do not calculate the amount of data already used by the database in real time, but obtain the periodically updated value of the daemon thread.
+Type: `boolean`
-This configuration is used to set the time interval for updating the value of the amount of data used by the database
+Default: `false`
-#### `disable_show_stream_load`
+Mutable: `true`
-Default:false
+Master only: `true`
-IsMutable:true
+### `disable_local_deploy_manager_drop_node`
-MasterOnly:true
+Whether to disable LocalDeployManager drop node
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `disable_mini_load`
+
+Whether to disable mini load, disabled by default
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `disable_show_stream_load`
Whether to disable show stream load and clear stream load records in memory.
-#### `max_stream_load_record_size`
+Type: `boolean`
-Default:5000
+Default: `false`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-Default max number of recent stream load record that can be stored in memory.
+### `disable_storage_medium_check`
-#### `fetch_stream_load_record_interval_second`
+When disable_storage_medium_check is true, ReportHandler would not check tablet's storage medium and disable storage cool down function.
-Default:120
+Type: `boolean`
-IsMutable:true
+Default: `false`
-MasterOnly:true
+Mutable: `true`
-fetch stream load record interval.
+Master only: `true`
-#### `max_bytes_per_broker_scanner`
+### `disable_tablet_scheduler`
-Default:`500 * 1024 * 1024 * 1024L` (500G)
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `false`
-Max bytes a broker scanner can process in one broker load job. Commonly, each Backends has one broker scanner.
+Mutable: `true`
-#### `default_load_parallelism`
+Master only: `true`
-Default: 8
+### `disallow_create_catalog_with_resource`
-IsMutable:true
+Whether to disable creating catalog with WITH RESOURCE statement.
-MasterOnly:true
+Type: `boolean`
-Default parallelism of the broker load execution plan on a single node.
-If the user to set the parallelism when the broker load is submitted, this parameter will be ignored.
-This parameter will determine the concurrency of import tasks together with multiple configurations such as `max broker concurrency`, `min bytes per broker scanner`.
+Default: `true`
-#### `max_broker_concurrency`
+Mutable: `true`
-Default:10
+Master only: `true`
-IsMutable:true
+### `div_precision_increment`
-MasterOnly:true
+TODO
-Maximal concurrency of broker scanners.
+Type: `int`
-#### `min_bytes_per_broker_scanner`
+Default: `4`
-Default:67108864L (64M)
+Mutable: `true`
-IsMutable:true
+Master only: `false`
-MasterOnly:true
+### `dpp_bytes_per_reduce`
-Minimum bytes that a single broker scanner will read.
+TODO
-#### `period_of_auto_resume_min`
+Type: `long`
-Default:5 (s)
+Default: `104857600`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-Automatically restore the cycle of Routine load
+### `dpp_config_str`
-#### `max_tolerable_backend_down_num`
+TODO
-Default:0
+Type: `String`
-IsMutable:true
+Default: `{palo-dpp : {hadoop_palo_path : '/dir',hadoop_configs : 'fs.default.name=hdfs://host:port;mapred.job.tracker=host:port;hadoop.job.ugi=user,password'}}`
-MasterOnly:true
+Mutable: `false`
-As long as one BE is down, Routine Load cannot be automatically restored
+Master only: `false`
-#### `max_routine_load_task_num_per_be`
+### `dpp_default_cluster`
-Default:5
+TODO
-IsMutable:true
+Type: `String`
-MasterOnly:true
+Default: `palo-dpp`
-the max concurrent routine load task num per BE. This is to limit the num of routine load tasks sending to a BE, and it should also less than BE config 'routine_load_thread_pool_size'(default 10), which is the routine load task thread pool size on BE.
+Mutable: `false`
-#### `max_routine_load_task_concurrent_num`
+Master only: `false`
-Default:5
+### `dpp_default_config_str`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `String`
-the max concurrent routine load task num of a single routine load job
+Default: `{hadoop_configs : 'mapred.job.priority=NORMAL;mapred.job.map.capacity=50;mapred.job.reduce.capacity=50;mapred.hce.replace.streaming=false;abaci.long.stored.job=true;dce.shuffle.enable=false;dfs.client.authserver.force_stop=true;dfs.client.auth.method=0'}`
-#### `max_routine_load_job_num`
+Mutable: `false`
-Default:100
+Master only: `false`
-the max routine load job num, including NEED_SCHEDULED, RUNNING, PAUSE
+### `dpp_hadoop_client_path`
-#### `desired_max_waiting_jobs`
+TODO
-Default:100
+Type: `String`
-IsMutable:true
+Default: `/lib/hadoop-client/hadoop/bin/hadoop`
-MasterOnly:true
+Mutable: `false`
-Default number of waiting jobs for routine load and version 2 of load , This is a desired number. In some situation, such as switch the master, the current number is maybe more than desired_max_waiting_jobs.
+Master only: `false`
-#### `disable_hadoop_load`
+### `drop_backend_after_decommission`
-Default:false
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `true`
-Load using hadoop cluster will be deprecated in future. Set to true to disable this kind of load.
+Mutable: `true`
-#### `enable_spark_load`
+Master only: `true`
-Default:false
+### `drop_rpc_retry_num`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `int`
-Whether to enable spark load temporarily, it is not enabled by default
+Default: `200`
-**Note:** This parameter has been deleted in version 1.2, spark_load is enabled by default
+Mutable: `true`
-#### `spark_load_checker_interval_second`
+Master only: `false`
-Default:60
+### `dynamic_partition_check_interval_seconds`
-Spark load scheduler run interval, default 60 seconds
+TODO
-#### `async_loading_load_task_pool_size`
+Type: `long`
-Default:10
+Default: `600`
-IsMutable:false
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-The loading_load task executor pool size. This pool size limits the max running loading_load tasks.
+### `dynamic_partition_enable`
-Currently, it only limits the loading_load task of broker load
+TODO
-#### `async_pending_load_task_pool_size`
+Type: `boolean`
-Default:10
+Default: `true`
-IsMutable:false
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-The pending_load task executor pool size. This pool size limits the max running pending_load tasks.
+### `edit_log_port`
-Currently, it only limits the pending_load task of broker load and spark load.
+The port of BDBJE
-It should be less than 'max_running_txn_num_per_db'
+Type: `int`
-#### `async_load_task_pool_size`
+Default: `9010`
-Default:10
+Mutable: `false`
-IsMutable:false
+Master only: `false`
-MasterOnly:true
+### `edit_log_roll_num`
-This configuration is just for compatible with old version, this config has been replaced by async_loading_load_task_pool_size, it will be removed in the future.
+The log roll size of BDBJE. When the number of log entries exceeds this value, the log will be rolled
-#### `enable_single_replica_load`
+Type: `int`
-Default:false
+Default: `50000`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-Whether to enable to write single replica for stream load and broker load.
+### `edit_log_type`
-#### `min_load_timeout_second`
+The storage type of the metadata log. BDB: Logs are stored in BDBJE. LOCAL: logs are stored in a local file (for testing only)
-Default:1 (1s)
+Type: `String`
-IsMutable:true
+Default: `bdb`
-MasterOnly:true
+Options: `BDB`, `LOCAL`
-Min stream load timeout applicable to all type of load
+Mutable: `false`
-#### `max_stream_load_timeout_second`
+Master only: `false`
-Default:259200 (3 day)
+### `enable_access_file_without_broker`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-This configuration is specifically used to limit timeout setting for stream load. It is to prevent that failed stream load transactions cannot be canceled within a short time because of the user's large timeout setting
+Default: `false`
-#### `max_load_timeout_second`
+Mutable: `true`
-Default:259200 (3 day)
+Master only: `true`
-IsMutable:true
+### `experimental_enable_all_http_auth`
-MasterOnly:true
+Whether to enable all http interface authentication
-Max load timeout applicable to all type of load except for stream load
+Type: `boolean`
-#### `stream_load_default_timeout_second`
+Default: `false`
-Default:86400 * 3 (3 day)
+Mutable: `false`
-IsMutable:true
+Master only: `false`
-MasterOnly:true
+### `enable_alter_queue_prop_sync`
-Default stream load and streaming mini load timeout
+TODO
-#### `stream_load_default_precommit_timeout_second`
+Type: `boolean`
-Default:3600(s)
+Default: `false`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-Default stream load pre-submission timeout
+### `enable_array_type`
-#### `stream_load_default_memtable_on_sink_node`
+TODO
-Default:false
+Type: `boolean`
-IsMutable:true
+Default: `false`
-MasterOnly:true
+Mutable: `true`
-Enable memtable on sink node for stream load by default.
-When HTTP header `memtable_on_sink_node` is not set.
+Master only: `true`
-#### `insert_load_default_timeout_second`
+### `enable_batch_delete_by_default`
-Default:3600(1 hour)
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `true`
-Default insert load timeout
+Mutable: `true`
-#### `mini_load_default_timeout_second`
+Master only: `true`
-Default:3600(1 hour)
+### `enable_bdbje_debug_mode`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-Default non-streaming mini load timeout
+Default: `false`
-#### `broker_load_default_timeout_second`
+Mutable: `false`
-Default:14400(4 hour)
+Master only: `false`
-IsMutable:true
+### `enable_cloud_multi_replica`
-MasterOnly:true
+TODO
-Default broker load timeout
+Type: `boolean`
-#### `spark_load_default_timeout_second`
+Default: `false`
-Default:86400 (1 day)
+Mutable: `true`
-IsMutable:true
+Master only: `false`
-MasterOnly:true
+### `enable_cloud_snapshot_version`
-Default spark load timeout
+TODO
-#### `hadoop_load_default_timeout_second`
+Type: `boolean`
-Default:86400 * 3 (3 day)
+Default: `true`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-Default hadoop load timeout
+### `enable_col_auth`
-#### `load_running_job_num_limit`
+Whether to enable col auth
-Default:0
+Type: `boolean`
-IsMutable:true
+Default: `false`
-MasterOnly:true
+Mutable: `false`
-The number of loading tasks is limited, the default is 0, no limit
+Master only: `false`
-#### `load_input_size_limit_gb`
+### `enable_collect_internal_query_profile`
-Default:0
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `false`
-The size of the data entered by the Load job, the default is 0, unlimited
+Mutable: `true`
-#### `load_etl_thread_num_normal_priority`
+Master only: `false`
-Default:10
+### `enable_concurrent_update`
-Concurrency of NORMAL priority etl load jobs. Do not change this if you know what you are doing.
+TODO
-#### `load_etl_thread_num_high_priority`
+Type: `boolean`
-Default:3
+Default: `false`
-Concurrency of HIGH priority etl load jobs. Do not change this if you know what you are doing
+Mutable: `false`
-#### `load_pending_thread_num_normal_priority`
+Master only: `true`
-Default:10
+### `enable_convert_light_weight_schema_change`
-Concurrency of NORMAL priority pending load jobs. Do not change this if you know what you are doing.
+temporary config filed, will make all olap tables enable light schema change
-#### `load_pending_thread_num_high_priority`
+Type: `boolean`
-Default:3
+Default: `false`
-Concurrency of HIGH priority pending load jobs. Load job priority is defined as HIGH or NORMAL. All mini batch load jobs are HIGH priority, other types of load jobs are NORMAL priority. Priority is set to avoid that a slow load job occupies a thread for a long time. This is just a internal optimized scheduling policy. Currently, you can not specified the job priority manually, and do not change this if you know what you are doing.
+Mutable: `false`
-#### `load_checker_interval_second`
+Master only: `false`
-Default:5 (s)
+### `experimental_enable_cpu_hard_limit`
-The load scheduler running interval. A load job will transfer its state from PENDING to LOADING to FINISHED. The load scheduler will transfer load job from PENDING to LOADING while the txn callback will transfer load job from LOADING to FINISHED. So a load job will cost at most one interval to finish when the concurrency has not reached the upper limit.
+TODO
-#### `load_straggler_wait_second`
+Type: `boolean`
-Default:300
+Default: `false`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-Maximal wait seconds for straggler node in load
- eg.
- there are 3 replicas A, B, C
- load is already quorum finished(A,B) at t1 and C is not finished
- if (current_time - t1) > 300s, then palo will treat C as a failure node
- will call transaction manager to commit the transaction and tell transaction manager that C is failed
+### `enable_date_conversion`
-This is also used when waiting for publish tasks
+TODO
-**Note:** this parameter is the default value for all job and the DBA could specify it for separate job
+Type: `boolean`
-#### `label_keep_max_second`
+Default: `true`
-Default:`3 * 24 * 3600` (3 day)
+Mutable: `true`
-IsMutable:true
+Master only: `false`
-MasterOnly:true
+### `enable_debug_points`
-labels of finished or cancelled load jobs will be removed after `label_keep_max_second` ,
+is enable debug points, use in test.
-1. The removed labels can be reused.
-2. Set a short time will lower the FE memory usage. (Because all load jobs' info is kept in memory before being removed)
+Type: `boolean`
-In the case of high concurrent writes, if there is a large backlog of jobs and call frontend service failed, check the log. If the metadata write takes too long to lock, you can adjust this value to 12 hours, or 6 hours less
+Default: `false`
-#### `streaming_label_keep_max_second`
+Mutable: `false`
-Default:43200 (12 hour)
+Master only: `true`
-IsMutable:true
+### `enable_decimal_conversion`
-MasterOnly:true
+TODO
-For some high-frequency load work, such as: INSERT, STREAMING LOAD, ROUTINE_LOAD_TASK. If it expires, delete the completed job or task.
+Type: `boolean`
-#### `label_clean_interval_second`
+Default: `true`
-Default:1 * 3600 (1 hour)
+Mutable: `true`
-Load label cleaner will run every *label_clean_interval_second* to clean the outdated jobs.
+Master only: `false`
-#### `transaction_clean_interval_second`
+### `enable_delete_existing_files`
-Default:30
+TODO
-the transaction will be cleaned after transaction_clean_interval_second seconds if the transaction is visible or aborted we should make this interval as short as possible and each clean cycle as soon as possible
+Type: `boolean`
-#### `sync_commit_interval_second`
+Default: `false`
-The maximum time interval for committing transactions. If there is still data in the channel that has not been submitted after this time, the consumer will notify the channel to submit the transaction.
+Mutable: `false`
-Default: 10 (seconds)
+Master only: `false`
-Is it possible to configure dynamically: true
+### `enable_deploy_manager`
-Whether it is a configuration item unique to the Master FE node: true
+TODO
-#### `sync_checker_interval_second`
+Type: `String`
-Data synchronization job running status check.
+Default: `disable`
-Default: 10(s)
+Mutable: `false`
-#### `max_sync_task_threads_num`
+Master only: `false`
-The maximum number of threads in the data synchronization job thread pool.
+### `enable_disk_balance_for_single_replica`
-默认值:10
+TODO
-#### `min_sync_commit_size`
+Type: `boolean`
-The minimum number of events that must be satisfied to commit a transaction. If the number of events received by Fe is less than it, it will continue to wait for the next batch of data until the time exceeds `sync_commit_interval_second`. The default value is 10000 events. If you want to modify this configuration, please make sure that this value is smaller than the `canal.instance.memory.buffer.size` configuration on the canal side (default 16384), otherwise Fe will try to get the queue [...]
+Default: `false`
-Default: 10000
+Mutable: `true`
-Is it possible to configure dynamically: true
+Master only: `true`
-Whether it is a configuration item unique to the Master FE node: true
+### `enable_external_ddl`
-#### `min_bytes_sync_commit`
+Enable external table DDL
-The minimum data size required to commit a transaction. If the data size received by Fe is smaller than it, it will continue to wait for the next batch of data until the time exceeds `sync_commit_interval_second`. The default value is 15MB, if you want to modify this configuration, please make sure this value is less than the product of `canal.instance.memory.buffer.size` and `canal.instance.memory.buffer.memunit` on the canal side (default 16MB), otherwise Before the ack, Fe will try to [...]
+Type: `boolean`
-Default: `15*1024*1024` (15M)
+Default: `false`
-Is it possible to configure dynamically: true
+Mutable: `true`
-Whether it is a configuration item unique to the Master FE node: true
+Master only: `true`
-#### `max_bytes_sync_commit`
+### `experimental_enable_feature_binlog`
-The maximum number of threads in the data synchronization job thread pool. There is only one thread pool in the entire FE, which is used to process all data synchronization tasks in the FE that send data to the BE. The implementation of the thread pool is in the `SyncTaskPool` class.
+Whether to enable binlog feature
-Default: 10
+Type: `boolean`
-Is it possible to dynamically configure: false
+Default: `false`
-Is it a configuration item unique to the Master FE node: false
+Mutable: `false`
-#### `enable_outfile_to_local`
+Master only: `false`
-Default:false
+### `enable_force_drop_redundant_replica`
-Whether to allow the outfile function to export the results to the local disk.
+TODO
-#### `export_tablet_num_per_task`
+Type: `boolean`
-Default:5
+Default: `false`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-Number of tablets per export query plan
+### `experimental_enable_fqdn_mode`
-#### `export_task_default_timeout_second`
+TODO
-Default:2 * 3600 (2 hour)
+Type: `boolean`
-IsMutable:true
+Default: `false`
-MasterOnly:true
+Mutable: `false`
-Default timeout of export jobs.
+Master only: `false`
-#### `export_running_job_num_limit`
+### `enable_get_log_file_api`
-Default:5
+Whether to enable the function of getting log files through http interface
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `false`
-Limitation of the concurrency of running export jobs. Default is 5. 0 is unlimited
+Mutable: `false`
-#### `export_checker_interval_second`
+Master only: `false`
-Default:5
+### `enable_hidden_version_column_by_default`
-Export checker's running interval.
+TODO
-### Log
+Type: `boolean`
-#### `log_roll_size_mb`
+Default: `true`
-Default:1024 (1G)
+Mutable: `true`
-The max size of one sys log and audit log
+Master only: `true`
-#### `sys_log_dir`
+### `enable_hms_events_incremental_sync`
-Default:DorisFE.DORIS_HOME_DIR + "/log"
+TODO
-sys_log_dir:
+Type: `boolean`
-This specifies FE log dir. FE will produces 2 log files:
+Default: `false`
-fe.log: all logs of FE process.
-fe.warn.log all WARNING and ERROR log of FE process.
+Mutable: `false`
-#### `sys_log_level`
+Master only: `true`
-Default:INFO
+### `enable_http_server_v2`
-log level:INFO, WARN, ERROR, FATAL
+TODO
-#### `sys_log_roll_num`
+Type: `boolean`
-Default:10
+Default: `true`
-Maximal FE log files to be kept within an sys_log_roll_interval. default is 10, which means there will be at most 10 log files in a day
+Mutable: `false`
-#### `sys_log_verbose_modules`
+Master only: `false`
-Default:{}
+### `experimental_enable_https`
-Verbose modules. VERBOSE level is implemented by log4j DEBUG level.
+Whether to enable https, if enabled, http port will not be available
-eg:
- sys_log_verbose_modules = org.apache.doris.catalog
- This will only print debug log of files in package org.apache.doris.catalog and all its sub packages.
+Type: `boolean`
-#### `sys_log_roll_interval`
+Default: `false`
-Default:DAY
+Mutable: `false`
-sys_log_roll_interval:
+Master only: `false`
-- DAY: log suffix is yyyyMMdd
-- HOUR: log suffix is yyyyMMddHH
+### `enable_java_udf`
-#### `sys_log_delete_age`
+Used to enable java_udf, default is true. if this configuration is false, creation and use of java_udf is disabled. in some scenarios it may be necessary to disable this configuration to prevent command injection attacks.
-Default:7d
+Type: `boolean`
-default is 7 days, if log's last modify time is 7 days ago, it will be deleted.
+Default: `true`
-support format:
+Mutable: `false`
-- 7d 7 day
-- 10h 10 hours
-- 60m 60 min
-- 120s 120 seconds
+Master only: `false`
-#### `sys_log_roll_mode`
+### `enable_job_schedule_second_for_test`
-Default:SIZE-MB-1024
+TODO
-The size of the log split, split a log file every 1 G
+Type: `boolean`
-#### `sys_log_enable_compress`
+Default: `false`
-Default: false
+Mutable: `false`
-If true, will compress fe.log & fe.warn.log by gzip
+Master only: `false`
-#### `audit_log_dir`
+### `enable_local_replica_selection`
-Default:DORIS_HOME_DIR + "/log"
+TODO
-audit_log_dir:
-This specifies FE audit log dir..
-Audit log fe.audit.log contains all requests with related infos such as user, host, cost, status, etc
+Type: `boolean`
-#### `audit_log_roll_num`
+Default: `false`
-Default:90
+Mutable: `true`
-Maximal FE audit log files to be kept within an audit_log_roll_interval.
+Master only: `false`
-#### `audit_log_modules`
+### `enable_local_replica_selection_fallback`
-Default:{"slow_query", "query", "load", "stream_load"}
+TODO
-Slow query contains all queries which cost exceed *qe_slow_log_ms*
+Type: `boolean`
-#### `qe_slow_log_ms`
+Default: `false`
-Default:5000 (5 seconds)
+Mutable: `true`
-If the response time of a query exceed this threshold, it will be recorded in audit log as slow_query.
+Master only: `false`
-#### `audit_log_roll_interval`
+### `enable_metric_calculator`
-Default:DAY
+TODO
-DAY: logsuffix is :yyyyMMdd
-HOUR: logsuffix is :yyyyMMddHH
+Type: `boolean`
-#### `audit_log_delete_age`
+Default: `true`
-Default:30d
+Mutable: `false`
-default is 30 days, if log's last modify time is 30 days ago, it will be deleted.
+Master only: `false`
-support format:
-- 7d 7 day
-- 10h 10 hours
-- 60m 60 min
-- 120s 120 seconds
+### `experimental_enable_mtmv`
-#### `audit_log_enable_compress`
+TODO
-Default: false
+Type: `boolean`
-If true, will compress fe.audit.log by gzip
+Default: `false`
-#### `nereids_trace_log_dir`
+Mutable: `true`
-Default: DorisFE.DORIS_HOME_DIR + "/log/nereids_trace"
+Master only: `true`
-Used to specify the directory of the nereids trace log
+### `enable_multi_tags`
-### Storage
+TODO
-#### `min_replication_num_per_tablet`
+Type: `boolean`
-Default: 1
+Default: `false`
-Used to set minimal number of replication per tablet.
+Mutable: `false`
-#### `max_replication_num_per_tablet`
+Master only: `true`
-Default: 32767
+### `experimental_enable_nereids_load`
-Used to set maximal number of replication per tablet.
+Now default set to true, After this function is enabled, the load statement of the new optimizer can be used to import data. If this function fails, the old load statement will be degraded.
-#### `default_db_data_quota_bytes`
+Type: `boolean`
-Default:1PB
+Default: `false`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-Used to set the default database data quota size. To set the quota size of a single database, you can use:
+### `enable_odbc_mysql_broker_table`
-```
-Set the database data quota, the unit is:B/K/KB/M/MB/G/GB/T/TB/P/PB
-ALTER DATABASE db_name SET DATA QUOTA quota;
-View configuration
-show data (Detail:HELP SHOW DATA)
-```
+Disallow the creation of odbc, mysql, broker type external tables
-#### `default_db_replica_quota_size`
+Type: `boolean`
-Default: 1073741824
+Default: `false`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-Used to set the default database replica quota. To set the quota size of a single database, you can use:
+### `enable_outfile_to_local`
-```
-Set the database replica quota
-ALTER DATABASE db_name SET REPLICA QUOTA quota;
-View configuration
-show data (Detail:HELP SHOW DATA)
-```
+TODO
-#### `recover_with_empty_tablet`
+Type: `boolean`
-Default:false
+Default: `false`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-In some very special circumstances, such as code bugs, or human misoperation, etc., all replicas of some tablets may be lost. In this case, the data has been substantially lost. However, in some scenarios, the business still hopes to ensure that the query will not report errors even if there is data loss, and reduce the perception of the user layer. At this point, we can use the blank Tablet to fill the missing replica to ensure that the query can be executed normally.
+### `enable_pipeline_load`
-Set to true so that Doris will automatically use blank replicas to fill tablets which all replicas have been damaged or missing
+TODO
-#### `min_clone_task_timeout_sec` `And max_clone_task_timeout_sec`
+Type: `boolean`
-Default:Minimum 3 minutes, maximum two hours
+Default: `true`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-Can cooperate with `mix_clone_task_timeout_sec` to control the maximum and minimum timeout of a clone task. Under normal circumstances, the timeout of a clone task is estimated by the amount of data and the minimum transfer rate (5MB/s). In some special cases, these two configurations can be used to set the upper and lower bounds of the clone task timeout to ensure that the clone task can be completed successfully.
+### `enable_profile_when_analyze`
-#### `disable_storage_medium_check`
+TODO
-Default:false
+Type: `boolean`
-IsMutable:true
+Default: `false`
-MasterOnly:true
+Mutable: `true`
-If disable_storage_medium_check is true, ReportHandler would not check tablet's storage medium and disable storage cool down function, the default value is false. You can set the value true when you don't care what the storage medium of the tablet is.
+Master only: `false`
-#### `decommission_tablet_check_threshold`
+### `enable_quantile_state_type`
-Default:5000
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `true`
-This configuration is used to control whether the Master FE need to check the status of tablets on decommissioned BE. If the size of tablets on decommissioned BE is lower than this threshold, FE will start a periodic check, if all tablets on decommissioned BE have been recycled, FE will drop this BE immediately.
+Mutable: `true`
-For performance consideration, please don't set a very high value for this configuration.
+Master only: `true`
-#### `partition_rebalance_max_moves_num_per_selection`
+### `enable_query_hit_stats`
-Default:10
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `false`
-Valid only if use PartitionRebalancer,
+Mutable: `true`
-#### `partition_rebalance_move_expire_after_access`
+Master only: `false`
-Default:600 (s)
+### `enable_query_hive_views`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-Valid only if use PartitionRebalancer. If this changed, cached moves will be cleared
+Default: `true`
-#### `tablet_rebalancer_type`
+Mutable: `true`
-Default:BeLoad
+Master only: `false`
-MasterOnly:true
+### `enable_query_queue`
-Rebalancer type(ignore case): BeLoad, Partition. If type parse failed, use BeLoad as default
+TODO
-#### `max_balancing_tablets`
+Type: `boolean`
-Default:100
+Default: `true`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-if the number of balancing tablets in TabletScheduler exceed max_balancing_tablets, no more balance check
+### `enable_round_robin_create_tablet`
-#### `max_scheduling_tablets`
+TODO
-Default:2000
+Type: `boolean`
-IsMutable:true
+Default: `true`
-MasterOnly:true
+Mutable: `true`
-if the number of scheduled tablets in TabletScheduler exceed max_scheduling_tablets skip checking.
+Master only: `false`
-#### `disable_balance`
+### `experimental_enable_single_replica_load`
-Default:false
+Whether to enable to write single replica for stream load and broker load.
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `false`
-if set to true, TabletScheduler will not do balance.
+Mutable: `true`
-#### `disable_disk_balance`
+Master only: `true`
-Default:true
+### `experimental_enable_ssl`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-if set to true, TabletScheduler will not do disk balance.
+Default: `false`
-#### `balance_load_score_threshold`
+Mutable: `false`
-Default:0.1 (10%)
+Master only: `false`
-IsMutable:true
+### `enable_storage_policy`
-MasterOnly:true
+TODO
-the threshold of cluster balance score, if a backend's load score is 10% lower than average score, this backend will be marked as LOW load, if load score is 10% higher than average score, HIGH load will be marked
+Type: `boolean`
-#### `capacity_used_percent_high_water`
+Default: `true`
-Default:0.75 (75%)
+Mutable: `false`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `enable_sts_vpc`
-The high water of disk capacity used percent. This is used for calculating load score of a backend
+TODO
-#### `clone_distribution_balance_threshold`
+Type: `boolean`
-Default:0.2
+Default: `true`
-IsMutable:true
+Mutable: `false`
-MasterOnly:true
+Master only: `false`
-Balance threshold of num of replicas in Backends.
+### `enable_token_check`
-#### `clone_capacity_balance_threshold`
+TODO
-Default:0.2
+Type: `boolean`
-IsMutable:true
+Default: `true`
-MasterOnly:true
+Mutable: `false`
-* Balance threshold of data size in BE.
+Master only: `false`
- The balance algorithm is:
+### `enable_urgent_balance_no_low_backend`
- 1. Calculate the average used capacity(AUC) of the entire cluster. (total data size / total backends num)
+TODO
- 2. The high water level is (AUC * (1 + clone_capacity_balance_threshold))
+Type: `boolean`
- 3. The low water level is (AUC * (1 - clone_capacity_balance_threshold))
+Default: `true`
- 4. The Clone checker will try to move replica from high water level BE to low water level BE.
+Mutable: `true`
-#### `disable_colocate_balance`
+Master only: `true`
-Default:false
+### `experimental_enable_workload_group`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `boolean`
-This configs can set to true to disable the automatic colocate tables's relocate and balance. If 'disable_colocate_balance' is set to true, ColocateTableBalancer will not relocate and balance colocate tables.
+Default: `true`
-**Attention**:
+Mutable: `true`
-1. Under normal circumstances, there is no need to turn off balance at all.
-2. Because once the balance is turned off, the unstable colocate table may not be restored
-3. Eventually the colocate plan cannot be used when querying.
+Master only: `false`
-#### `balance_slot_num_per_path`
+### `es_state_sync_interval_second`
-Default: 1
+TODO
-IsMutable:true
+Type: `long`
-MasterOnly:true
+Default: `10`
-Default number of slots per path during balance.
+Mutable: `false`
-#### `disable_tablet_scheduler`
+Master only: `false`
-Default:false
+### `expr_children_limit`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `int`
-If set to true, the tablet scheduler will not work, so that all tablet repair/balance task will not work.
+Default: `10000`
-#### `enable_force_drop_redundant_replica`
+Mutable: `true`
-Default: false
+Master only: `false`
-Dynamically configured: true
+### `expr_depth_limit`
-Only for Master FE: true
+TODO
-If set to true, the system will immediately drop redundant replicas in the tablet scheduling logic. This may cause some load jobs that are writing to the corresponding replica to fail, but it will speed up the balance and repair speed of the tablet.
-When there are a large number of replicas waiting to be balanced or repaired in the cluster, you can try to set this config to speed up the balance and repair of replicas at the expense of partial load success rate.
+Type: `int`
-#### `colocate_group_relocate_delay_second`
+Default: `3000`
-Default: 1800
+Mutable: `true`
-Dynamically configured: true
+Master only: `false`
-Only for Master FE: true
+### `external_cache_expire_time_minutes_after_access`
-The relocation of a colocation group may involve a large number of tablets moving within the cluster. Therefore, we should use a more conservative strategy to avoid relocation of colocation groups as much as possible.
-Relocation usually occurs after a BE node goes offline or goes down. This parameter is used to delay the determination of BE node unavailability. The default is 30 minutes, i.e., if a BE node recovers within 30 minutes, relocation of the colocation group will not be triggered.
+TODO
-####` allow_replica_on_same_host`
+Type: `long`
-Default: false
+Default: `10`
-Dynamically configured: false
+Mutable: `false`
-Only for Master FE: false
+Master only: `false`
-Whether to allow multiple replicas of the same tablet to be distributed on the same host. This parameter is mainly used for local testing, to facilitate building multiple BEs to test certain multi-replica situations. Do not use it for non-test environments.
+### `fetch_stream_load_record_interval_second`
-#### `repair_slow_replica`
+The interval of FE fetch stream load record from BE.
-Default: false
+Type: `int`
-IsMutable:true
+Default: `120`
-MasterOnly: true
+Mutable: `true`
-If set to true, the replica with slower compaction will be automatically detected and migrated to other machines. The detection condition is that the version count of the fastest replica exceeds the value of `min_version_count_indicate_replica_compaction_too_slow`, and the ratio of the version count difference from the fastest replica exceeds the value of `valid_version_count_delta_ratio_between_replicas`
+Master only: `true`
-#### `min_version_count_indicate_replica_compaction_too_slow`
+### `finish_job_max_saved_second`
-Default: 200
+TODO
-Dynamically configured: true
+Type: `int`
-Only for Master FE: false
+Default: `259200`
-The version count threshold used to judge whether replica compaction is too slow
+Mutable: `false`
-#### `skip_compaction_slower_replica`
+Master only: `false`
-Default: true
+### `finished_job_cleanup_threshold_time_hour`
-Dynamically configured: true
+The longest time to save the job in finished status, it will be deleted after this time. Unit: hour
-Only for Master FE: false
+Type: `int`
-If set to true, the compaction slower replica will be skipped when select get queryable replicas
+Default: `24`
-#### `valid_version_count_delta_ratio_between_replicas`
+Mutable: `false`
-Default: 0.5
+Master only: `false`
-Dynamically configured: true
+### `forbid_running_alter_job`
-Only for Master FE: true
+TODO
-The valid ratio threshold of the difference between the version count of the slowest replica and the fastest replica. If `repair_slow_replica` is set to true, it is used to determine whether to repair the slowest replica
+Type: `boolean`
-#### `min_bytes_indicate_replica_too_large`
+Default: `false`
-Default: `2 * 1024 * 1024 * 1024` (2G)
+Mutable: `false`
-Dynamically configured: true
+Master only: `false`
-Only for Master FE: true
+### `force_do_metadata_checkpoint`
-The data size threshold used to judge whether replica is too large
+TODO
-#### `schedule_slot_num_per_hdd_path`
+Type: `boolean`
-Default:4
+Default: `false`
-the default slot number per path in tablet scheduler for hdd , remove this config and dynamically adjust it by clone task statistic
+Mutable: `true`
-#### `schedule_slot_num_per_ssd_path`
+Master only: `true`
-Default:8
+### `force_olap_table_replication_num`
-the default slot number per path in tablet scheduler for ssd , remove this config and dynamically adjust it by clone task statistic
+Used to force the number of replicas of the internal table. If the config is greater than zero, the number of replicas specified by the user when creating the table will be ignored, and the value set by this parameter will be used. At the same time, the replica tags and other parameters specified in the create table statement will be ignored. This config does not effect the operations including creating partitions and modifying table properties. This config is recommended to be used only [...]
-#### `tablet_repair_delay_factor_second`
+Type: `int`
-Default:60 (s)
+Default: `0`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `true`
-the factor of delay time before deciding to repair tablet.
+### `fuzzy_test_type`
-- if priority is VERY_HIGH, repair it immediately.
-- HIGH, delay tablet_repair_delay_factor_second * 1;
-- NORMAL: delay tablet_repair_delay_factor_second * 2;
-- LOW: delay tablet_repair_delay_factor_second * 3;
+TODO
-#### `tablet_stat_update_interval_second`
+Type: `String`
-Default:300(5min)
+Default: ``
-update interval of tablet stat,
-All frontends will get tablet stat from all backends at each interval
+Mutable: `true`
-#### `storage_flood_stage_usage_percent`
+Master only: `false`
-Default:95 (95%)
+### `group_commit_data_bytes_default_value`
-IsMutable:true
+Default commit data bytes for group commit
-MasterOnly:true
+Type: `int`
-##### `storage_flood_stage_left_capacity_bytes`
+Default: `134217728`
-Default:`1 * 1024 * 1024 * 1024` (1GB)
+Mutable: `false`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `group_commit_interval_ms_default_value`
-If capacity of disk reach the 'storage_flood_stage_usage_percent' and 'storage_flood_stage_left_capacity_bytes', the following operation will be rejected:
+Default commit interval in ms for group commit
-1. load job
-2. restore job
+Type: `int`
-#### `storage_high_watermark_usage_percent`
+Default: `10000`
-Default:85 (85%)
+Mutable: `false`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `grpc_max_message_size_bytes`
-#### `storage_min_left_capacity_bytes`
+TODO
-Default: `2 * 1024 * 1024 * 1024` (2GB)
+Type: `int`
-IsMutable:true
+Default: `2147483647`
-MasterOnly:true
+Mutable: `false`
-'storage_high_watermark_usage_percent' limit the max capacity usage percent of a Backend storage path. 'storage_min_left_capacity_bytes' limit the minimum left capacity of a Backend storage path. If both limitations are reached, this storage path can not be chose as tablet balance destination. But for tablet recovery, we may exceed these limit for keeping data integrity as much as possible.
+Master only: `false`
-#### `catalog_trash_expire_second`
+### `grpc_threadmgr_threads_nums`
-Default:86400L (1 day)
+TODO
-IsMutable:true
+Type: `int`
-MasterOnly:true
+Default: `4096`
-After dropping database(table/partition), you can recover it by using RECOVER stmt. And this specifies the maximal data retention time. After time, the data will be deleted permanently.
+Mutable: `false`
-#### `storage_cooldown_second`
+Master only: `false`
-<version deprecated="2.0"></version>
+### `hadoop_load_default_timeout_second`
-Default:`30 * 24 * 3600L` (30 day)
+Default timeout for hadoop load job, in seconds.
-When create a table(or partition), you can specify its storage medium(HDD or SSD). If set to SSD, this specifies the default duration that tablets will stay on SSD. After that, tablets will be moved to HDD automatically. You can set storage cooldown time in CREATE TABLE stmt.
+Type: `int`
-#### `default_storage_medium`
+Default: `259200`
-Default:HDD
+Mutable: `true`
-When create a table(or partition), you can specify its storage medium(HDD or SSD). If not set, this specifies the default medium when create.
+Master only: `true`
-#### `enable_storage_policy`
+### `heartbeat_interval_second`
-- Whether to enable the Storage Policy feature. This config allows users to separate hot and cold data.
-Default: false
+TODO
-Is it possible to dynamically configure: true
+Type: `int`
-Is it a configuration item unique to the Master FE node: true
+Default: `10`
-#### `check_consistency_default_timeout_second`
+Mutable: `false`
-Default:600 (10 minutes)
+Master only: `false`
-IsMutable:true
+### `heartbeat_mgr_blocking_queue_size`
-MasterOnly:true
+Queue size to store heartbeat task in heartbeat_mgr
-Default timeout of a single consistency check task. Set long enough to fit your tablet size
+Type: `int`
-#### `consistency_check_start_time`
+Default: `1024`
-Default:23
+Mutable: `false`
-IsMutable:true
+Master only: `true`
-MasterOnly:true
+### `heartbeat_mgr_threads_num`
-Consistency check start time
+Num of thread to handle heartbeat events
-Consistency checker will run from *consistency_check_start_time* to *consistency_check_end_time*.
+Type: `int`
-If the two times are the same, no consistency check will be triggered.
+Default: `8`
-#### `consistency_check_end_time`
+Mutable: `false`
-Default:23
+Master only: `true`
-IsMutable:true
+### `history_job_keep_max_second`
-MasterOnly:true
+For ALTER, EXPORT jobs, remove the finished job if expired.
-Consistency check end time
+Type: `int`
-Consistency checker will run from *consistency_check_start_time* to *consistency_check_end_time*.
+Default: `604800`
-If the two times are the same, no consistency check will be triggered.
+Mutable: `true`
-#### `replica_delay_recovery_second`
+Master only: `true`
-Default:0
+### `hive_default_input_format`
-IsMutable:true
+Default hive input format for creating table.
-MasterOnly:true
+Type: `String`
-the minimal delay seconds between a replica is failed and fe try to recovery it using clone.
+Default: `org.apache.hadoop.hive.ql.io.orc.OrcInputFormat`
-#### `tablet_create_timeout_second`
+Mutable: `true`
-Default:1(s)
+Master only: `true`
-IsMutable:true
+### `hive_default_output_format`
-MasterOnly:true
+Default hive output format for creating table.
-Maximal waiting time for creating a single replica.
+Type: `String`
-eg.
- if you create a table with #m tablets and #n replicas for each tablet,
- the create table request will run at most (m * n * tablet_create_timeout_second) before timeout.
+Default: `org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat`
-#### `tablet_delete_timeout_second`
+Mutable: `true`
-Default:2
+Master only: `true`
-IsMutable:true
+### `hive_default_serde`
-MasterOnly:true
+Default hive serde class for creating table.
-Same meaning as *tablet_create_timeout_second*, but used when delete a tablet.
+Type: `String`
-#### `delete_job_max_timeout_second`
+Default: `org.apache.hadoop.hive.ql.io.orc.OrcSerde`
-Default: 300(s)
+Mutable: `true`
-Mutable: true
+Master only: `true`
-Master only: true
+### `hive_metastore_client_timeout_second`
-Maximal timeout for delete job, in seconds.
+TODO
-#### `alter_table_timeout_second`
+Type: `long`
-Default:86400 * 30(1 month)
+Default: `10`
-IsMutable:true
+Mutable: `true`
-MasterOnly:true
+Master only: `false`
-Maximal timeout of ALTER TABLE request. Set long enough to fit your table data size.
+### `hive_stats_partition_sample_size`
-#### `max_replica_count_when_schema_change`
+Sample size for hive row count estimation.
-The maximum number of replicas allowed when OlapTable is doing schema changes. Too many replicas will lead to FE OOM.
+Type: `int`
-Default: 100000
+Default: `3000`
-Is it possible to configure dynamically: true
+Mutable: `true`
-Whether it is a configuration item unique to the Master FE node: true
+Master only: `false`
-#### `history_job_keep_max_second`
+### `hms_events_batch_size_per_rpc`
-Default:`7 * 24 * 3600` (7 day)
+TODO
-IsMutable:true
+Type: `int`
-MasterOnly:true
+Default: `500`
-The max keep time of some kind of jobs. like schema change job and rollup job.
+Mutable: `true`
-#### `max_create_table_timeout_second`
+Master only: `true`
-Default:60 (s)
+### `hms_events_polling_interval_ms`
-IsMutable:true
+TODO
-MasterOnly:true
+Type: `int`
-In order not to wait too long for create table(index), set a max timeout.
+Default: `10000`
-### External Table
+Mutable: `false`
-#### `file_scan_node_split_num`
+Master only: `true`
-Default:128
+### `http_api_extra_base_path`
-IsMutable:true
+TODO
-MasterOnly:false
+Type: `String`
-multi catalog concurrent file scanning threads
+Default: ``
-#### `file_scan_node_split_size`
+Mutable: `false`
-Default:`256 * 1024 * 1024`
+Master only: `false`
-IsMutable:true
+### `http_load_submitter_max_worker_threads`
-MasterOnly:false
+The max number work threads of http upload submitter.
-multi catalog concurrent file scan size
+Type: `int`
-#### `enable_odbc_mysql_broker_table`
+Default: `2`
-Default:false
+Mutable: `false`
-IsMutable:true
+Master only: `false`
-MasterOnly:false
+### `http_port`
-Starting from version 2.1, we no longer support create ODBC, JDBC and broker external table. For odbc and mysql external table, use JDBC table or JDBC catalog instead. For broker table, use table valued function instead.
+Fe http port, currently all FE's http port must be same
-#### `max_hive_partition_cache_num`
+Type: `int`
-The maximum number of caches for the hive partition.
+Default: `8030`
-Default: 100000
+Mutable: `false`
-Is it possible to dynamically configure: false
+Master only: `false`
-Is it a configuration item unique to the Master FE node: false
+### `http_sql_submitter_max_worker_threads`
-#### `hive_metastore_client_timeout_second`
+The max number work threads of http sql submitter.
-The default connection timeout for hive metastore.
+Type: `int`
-Default: 10
+Default: `2`
-Is it possible to dynamically configure: true
+Mutable: `false`
-Is it a configuration item unique to the Master FE node: true
+Master only: `false`
-#### `max_external_cache_loader_thread_pool_size`
+### `https_port`
-Maximum thread pool size for loading external meta cache.
+Fe https port, currently all FE's https port must be same
-Default: 10
+Type: `int`
-Is it possible to dynamically configure: false
+Default: `8050`
-Is it a configuration item unique to the Master FE node: false
+Mutable: `false`
-#### `max_external_file_cache_num`
+Master only: `false`
-Maximum number of file cache to use for external tables.
+### `ignore_meta_check`
-Default: 100000
+If true, non-master FE will ignore the meta data delay gap between Master FE and its self, even if the metadata delay gap exceeds this threshold. Non-master FE will still offer read service. This is helpful when you try to stop the Master FE for a relatively long time for some reason, but still wish the non-master FE can offer read service.
-Is it possible to dynamically configure: false
+Type: `boolean`
-Is it a configuration item unique to the Master FE node: false
+Default: `false`
-#### `max_external_schema_cache_num`
+Mutable: `true`
-Maximum number of schema cache to use for external external tables.
+Master only: `false`
-Default: 10000
+### `ignore_unknown_metadata_module`
-Is it possible to dynamically configure: false
+Whether to ignore unknown modules in Image file. If true, metadata modules not in PersistMetaModules.MODULE_NAMES will be ignored and skipped. Default is false, if Image file contains unknown modules, Doris will throw exception. This parameter is mainly used in downgrade operation, old version can be compatible with new version Image file.
-Is it a configuration item unique to the Master FE node: false
+Type: `boolean`
-#### `external_cache_expire_time_minutes_after_access`
+Default: `false`
-Set how long the data in the cache expires after the last access. The unit is minutes.
-Applies to External Schema Cache as well as Hive Partition Cache.
+Mutable: `false`
-Default: 1440
+Master only: `false`
-Is it possible to dynamically configure: false
+### `initial_root_password`
-Is it a configuration item unique to the Master FE node: false
+Set root user initial 2-staged SHA-1 encrypted password, default as '', means no root password. Subsequent `set password` operations for root user will overwrite the initial root password. Example: If you want to configure a plaintext password `root@123`.You can execute Doris SQL `select password('root@123')` to generate encrypted password `*A00C34073A26B40AB4307650BFB9309D6BFA6999`
-#### `es_state_sync_interval_second`
+Type: `String`
-Default:10
+Default: ``
-fe will call es api to get es index shard info every es_state_sync_interval_secs
+Mutable: `false`
-### External Resources
+Master only: `true`
-#### `dpp_hadoop_client_path`
+### `insert_load_default_timeout_second`
-Default:/lib/hadoop-client/hadoop/bin/hadoop
+Default timeout for insert load job, in seconds.
-#### `dpp_bytes_per_reduce`
+Type: `int`
-Default:`100 * 1024 * 1024L` (100M)
+Default: `14400`
-#### `dpp_default_cluster`
+Mutable: `true`
-Default:palo-dpp
+Master only: `true`
-#### `dpp_default_config_str`
+### `jdbc_driver_secure_path`
-Default:{
- hadoop_configs : 'mapred.job.priority=NORMAL;mapred.job.map.capacity=50;mapred.job.reduce.capacity=50;mapred.hce.replace.streaming=false;abaci.long.stored.job=true;dce.shuffle.enable=false;dfs.client.authserver.force_stop=true;dfs.client.auth.method=0'
- }
+The safe path of the JDBC driver. When creating a JDBC Catalog,you can configure multiple files or network paths that are allowed to be used,separated by semicolonsThe default is * to allow all, if set to empty, all are not allowed
-#### `dpp_config_str`
+Type: `String`
-Default:{
- palo-dpp : {
- hadoop_palo_path : '/dir',
- hadoop_configs : 'fs.default.name=hdfs://host:port;mapred.job.tracker=host:port;hadoop.job.ugi=user,password'
- }
- }
+Default: `*`
-#### `yarn_config_dir`
+Mutable: `false`
-Default:DorisFE.DORIS_HOME_DIR + "/lib/yarn-config"
+Master only: `false`
-Default yarn config file directory ,Each time before running the yarn command, we need to check that the config file exists under this path, and if not, create them.
+### `jdbc_drivers_dir`
-#### `yarn_client_path`
+The path to save jdbc drivers. When creating JDBC Catalog,if the specified driver file path is not an absolute path, Doris will find jars from this path
-Default:DORIS_HOME_DIR + "/lib/yarn-client/hadoop/bin/yarn"
+Type: `String`
-Default yarn client path
+Default: `null/jdbc_drivers`
-#### `spark_launcher_log_dir`
+Mutable: `false`
-Default: sys_log_dir + "/spark_launcher_log"
+Master only: `false`
-The specified spark launcher log dir
+### `jetty_server_acceptors`
-#### `spark_resource_path`
+The number of acceptor threads for Jetty. Jetty's thread architecture model is very simple, divided into three thread pools: acceptor, selector and worker. The acceptor is responsible for accepting new connections, and then handing it over to the selector to process the unpacking of the HTTP message protocol, and finally the worker processes the request. The first two thread pools adopt a non-blocking model, and one thread can handle many socket reads and writes, so the number of thread [...]
-Default:none
+Type: `int`
-Default spark dependencies path
+Default: `2`
-#### `spark_home_default_dir`
+Mutable: `false`
-Default:DORIS_HOME_DIR + "/lib/spark2x"
+Master only: `false`
-Default spark home dir
+### `jetty_server_max_http_header_size`
-#### `spark_dpp_version`
+The maximum HTTP header size of Jetty, in bytes, the default value is 1MB.
-Default:1.0.0
+Type: `int`
-Default spark dpp version
+Default: `1048576`
-### Else
+Mutable: `false`
-#### `tmp_dir`
+Master only: `false`
-Default:DorisFE.DORIS_HOME_DIR + "/temp_dir"
+### `jetty_server_max_http_post_size`
-temp dir is used to save intermediate results of some process, such as backup and restore process. file in this dir will be cleaned after these process is finished.
+The maximum HTTP POST size of Jetty, in bytes, the default value is 100MB.
-#### `custom_config_dir`
+Type: `int`
-Default:DorisFE.DORIS_HOME_DIR + "/conf"
+Default: `104857600`
-Custom configuration file directory
+Mutable: `false`
-Configure the location of the `fe_custom.conf` file. The default is in the `conf/` directory.
+Master only: `false`
-In some deployment environments, the `conf/` directory may be overwritten due to system upgrades. This will cause the user modified configuration items to be overwritten. At this time, we can store `fe_custom.conf` in another specified directory to prevent the configuration file from being overwritten.
+### `jetty_server_selectors`
-#### `plugin_dir`
+The number of selector threads for Jetty.
-Default:DORIS_HOME + "/plugins
+Type: `int`
-plugin install directory
+Default: `4`
-#### `plugin_enable`
+Mutable: `false`
-Default:true
+Master only: `false`
-IsMutable:true
+### `jetty_server_workers`
-MasterOnly:true
+The number of worker threads for Jetty. 0 means using the default thread pool.
-Whether the plug-in is enabled, enabled by default
+Type: `int`
-#### `small_file_dir`
+Default: `0`
-Default:DORIS_HOME_DIR/small_files
+Mutable: `false`
-Save small files
+Master only: `false`
-#### `max_small_file_size_bytes`
+### `jetty_threadPool_maxThreads`
-Default:1M
+The default maximum number of threads for jetty.
-IsMutable:true
+Type: `int`
-MasterOnly:true
+Default: `400`
-The max size of a single file store in SmallFileMgr
+Mutable: `false`
-#### `max_small_file_number`
+Master only: `false`
-Default:100
+### `jetty_threadPool_minThreads`
-IsMutable:true
+The default minimum number of threads for jetty.
-MasterOnly:true
+Type: `int`
-The max number of files store in SmallFileMgr
+Default: `20`
-#### `enable_metric_calculator`
+Mutable: `false`
-Default:true
+Master only: `false`
-If set to true, metric collector will be run as a daemon timer to collect metrics at fix interval
+### `job_dispatch_timer_job_queue_size`
-#### `report_queue_size`
+The number of timer jobs that can be queued.
-Default: 100
+Type: `int`
-IsMutable:true
+Default: `1024`
-MasterOnly:true
+Mutable: `false`
-This threshold is to avoid piling up too many report task in FE, which may cause OOM exception. In some large Doris cluster, eg: 100 Backends with ten million replicas, a tablet report may cost several seconds after some modification of metadata(drop partition, etc..). And one Backend will report tablets info every 1 min, so unlimited receiving reports is unacceptable. we will optimize the processing speed of tablet report in future, but now, just discard the report if queue size excee [...]
- Some online time cost:
- 1. disk report: 0-1 msta
- 2. sk report: 0-1 ms
- 3. tablet report
- 4. 10000 replicas: 200ms
+Master only: `false`
-#### `backup_job_default_timeout_ms`
+### `job_dispatch_timer_job_thread_num`
-Default:86400 * 1000 (1 day)
+The number of threads used to dispatch timer job.
-IsMutable:true
+Type: `int`
-MasterOnly:true
+Default: `2`
-default timeout of backup job
+Mutable: `false`
-#### `backup_upload_task_num_per_be`
+Master only: `false`
-Default:3
+### `job_insert_task_consumer_thread_num`
-IsMutable:true
+The number of threads used to consume Insert tasks, the value should be greater than 0, if it is <=0, default is 5.
-MasterOnly:true
+Type: `int`
-The max number of upload tasks assigned to each be during the backup process, the default value is 3.
+Default: `10`
-#### `restore_download_task_num_per_be`
+Mutable: `false`
-Default:3
+Master only: `false`
-IsMutable:true
+### `job_mtmv_task_consumer_thread_num`
-MasterOnly:true
+The number of threads used to consume mtmv tasks, the value should be greater than 0, if it is <=0, default is 5.
-The max number of download tasks assigned to each be during the restore process, the default value is 3.
+Type: `int`
-#### `max_backup_restore_job_num_per_db`
+Default: `10`
-Default: 10
+Mutable: `false`
-This configuration is mainly used to control the number of backup/restore tasks recorded in each database.
+Master only: `false`
-#### `enable_quantile_state_type`
+### `keep_scheduler_mtmv_task_when_job_deleted`
-Default:false
+TODO
-IsMutable:true
+Type: `boolean`
-MasterOnly:true
+Default: `false`
-Whether to enable the quantile_state data type
+Mutable: `true`
-#### `enable_date_conversion`
+Master only: `true`
-Default:true
+### `key_store_alias`
-IsMutable:true
+The key store alias of FE https service
-MasterOnly:true
+Type: `String`
-FE will convert date/datetime to datev2/datetimev2(0) automatically.
+Default: `doris_ssl_certificate`
-#### `enable_decimal_conversion`
+Mutable: `false`
-Default:true
+Master only: `false`
-IsMutable:true
+### `key_store_password`
-MasterOnly:true
+The key store password of FE https service
-FE will convert DecimalV2 to DecimalV3 automatically.
+Type: `String`
-#### `proxy_auth_magic_prefix`
+Default: ``
-Default:x@8
+Mutable: `false`
-#### `proxy_auth_enable`
+Master only: `false`
-Default:false
+### `key_store_path`
-#### `enable_func_pushdown`
+The key store path of FE https service
-Default:true
+Type: `String`
-IsMutable:true
+Default: `null/conf/ssl/doris_ssl_certificate.keystore`
-MasterOnly:false
+Mutable: `false`
-Whether to push the filter conditions with functions down to MYSQL, when execute query of ODBC、JDBC external tables
+Master only: `false`
-#### `jdbc_drivers_dir`
+### `key_store_type`
-Default: `${DORIS_HOME}/jdbc_drivers`;
+The key store type of FE https service
-IsMutable:false
+Type: `String`
-MasterOnly:false
+Default: `JKS`
-The default dir to put jdbc drivers.
+Mutable: `false`
-#### `max_error_tablet_of_broker_load`
+Master only: `false`
-Default: 3;
+### `label_clean_interval_second`
-IsMutable:true
+The clean interval of load job, in seconds. In each cycle, the expired history load job will be cleaned
-MasterOnly:true
+Type: `int`
-Maximum number of error tablet showed in broker load.
+Default: `3600`
-#### `default_db_max_running_txn_num`
+Mutable: `false`
-Default:-1
+Master only: `false`
-IsMutable:true
+### `label_keep_max_second`
-MasterOnly:true
+Labels of finished or cancelled load jobs will be removed after this timeThe removed labels can be reused.
-Used to set the default database transaction quota size.
+Type: `int`
-The default value setting to -1 means using `max_running_txn_num_per_db` instead of `default_db_max_running_txn_num`.
+Default: `259200`
-To set the quota size of a single database, you can use:
+Mutable: `true`
-```
-Set the database transaction quota
-ALTER DATABASE db_name SET TRANSACTION QUOTA quota;
-View configuration
-show data (Detail:HELP SHOW DATA)
-```
+Master only: `true`
-#### `prefer_compute_node_for_external_table`
+### `label_num_threshold`
-Default:false
+The threshold of load labels' number. After this number is exceeded, the labels of the completed import jobs or tasks will be deleted, and the deleted labels can be reused.
-IsMutable:true
+Type: `int`
-MasterOnly:false
+Default: `2000`
-If set to true, query on external table will prefer to assign to compute node. And the max number of compute node is controlled by `min_backend_num_for_external_table`.
-If set to false, query on external table will assign to any node.
+Mutable: `true`
-#### `min_backend_num_for_external_table`
+Master only: `true`
-Default:3
+### `load_checker_interval_second`
-IsMutable:true
+The interval of load job scheduler, in seconds.
-MasterOnly:false
+Type: `int`
-Only take effect when `prefer_compute_node_for_external_table` is true. If the compute node number is less than this value, query on external table will try to get some mix node to assign, to let the total number of node reach this value.
-If the compute node number is larger than this value, query on external table will assign to compute node only.
+Default: `5`
-#### `infodb_support_ext_catalog`
+Mutable: `false`
-<version since="1.2.4"></version>
+Master only: `false`
-Default: false
+### `locale`
-IsMutable: true
+TODO
-MasterOnly: false
+Type: `String`
-If false, when select from tables in information_schema database,
-the result will not contain the information of the table in external catalog.
-This is to avoid query time when external catalog is not reachable.
+Default: `zh_CN.UTF-8`
+Mutable: `false`
-#### `enable_query_hit_stats`
+Master only: `false`
-<version since="dev"></version>
+### `lock_reporting_threshold_ms`
-Default: false
+TODO
-IsMutable: true
+Type: `long`
-MasterOnly: false
+Default: `500`
-Controls whether to enable query hit statistics. The default is false.
+Mutable: `false`
-#### `div_precision_increment`
-<version since="dev"></version>
+Master only: `false`
-Default: 4
+### `log_roll_size_mb`
-This variable indicates the number of digits by which to increase the scale of the result of
-division operations performed with the `/` operator.
+The maximum file size of fe.log and fe.audit.log. After exceeding this size, the log file will be split
-#### `enable_convert_light_weight_schema_change`
+Type: `int`
-Default:true
+Default: `1024`
-Temporary configuration option. After it is enabled, a background thread will be started to automatically modify all olap tables to light schema change. The modification results can be viewed through the command `show convert_light_schema_change [from db]`, and the conversion results of all non-light schema change tables will be displayed.
+Mutable: `false`
-#### `disable_local_deploy_manager_drop_node`
+Master only: `false`
-Default:true
+### `lower_case_table_names`
-Forbid LocalDeployManager drop nodes to prevent errors in the cluster.info file from causing nodes to be dropped.
+TODO
-#### `mysqldb_replace_name`
+Type: `int`
-Default: mysql
+Default: `0`
-To ensure compatibility with the MySQL ecosystem, Doris includes a built-in database called mysql. If this database conflicts with a user's own database, please modify this field to replace the name of the Doris built-in MySQL database with a different name.
+Mutable: `false`
+
+Master only: `true`
+
+### `manual_drop_replica_valid_second`
+
+TODO
+
+Type: `long`
+
+Default: `86400`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `master_sync_policy`
+
+The sync policy of meta data log. If you only deploy one Follower FE, set this to `SYNC`. If you deploy more than 3 Follower FE, you can set this and the following `replica_sync_policy` to `WRITE_NO_SYNC`. See: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.SyncPolicy.html
+
+Type: `String`
+
+Default: `SYNC`
-#### `max_auto_partition_num`
+Options: `SYNC`, `NO_SYNC`, `WRITE_NO_SYNC`
-Default value: 2000
+Mutable: `false`
+
+Master only: `false`
+
+### `max_agent_task_threads_num`
+
+Num of thread to handle agent task in agent task thread-pool
+
+Type: `int`
+
+Default: `4096`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `max_allowed_in_element_num_of_delete`
+
+TODO
+
+Type: `int`
+
+Default: `1024`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_auto_partition_num`
For auto-partitioned tables to prevent users from accidentally creating a large number of partitions, the number of partitions allowed per OLAP table is `max_auto_partition_num`. Default 2000.
+
+Type: `int`
+
+Default: `2000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_backend_heartbeat_failure_tolerance_count`
+
+TODO
+
+Type: `long`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_backup_restore_job_num_per_db`
+
+TODO
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_balancing_tablets`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_bdbje_clock_delta_ms`
+
+The maximum clock skew between non-master FE to Master FE host, in milliseconds. This value is checked whenever a non-master FE establishes a connection to master FE via BDBJE. The connection is abandoned if the clock skew is larger than this value.
+
+Type: `long`
+
+Default: `5000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_be_exec_version`
+
+TODO
+
+Type: `int`
+
+Default: `3`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `experimental_max_binlog_messsage_size`
+
+Set the maximum byte length of binlog message
+
+Type: `int`
+
+Default: `1073741824`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_broker_concurrency`
+
+Maximal concurrency of broker scanners.
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_bytes_per_broker_scanner`
+
+TODO
+
+Type: `long`
+
+Default: `536870912000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_bytes_sync_commit`
+
+Max bytes that a sync job will commit. When receiving bytes larger than it, SyncJob will commit all data immediately. You should set it larger than canal memory and `min_bytes_sync_commit`.
+
+Type: `long`
+
+Default: `67108864`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_cbo_statistics_task_timeout_sec`
+
+TODO
+
+Type: `int`
+
+Default: `300`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_clone_task_timeout_sec`
+
+TODO
+
+Type: `long`
+
+Default: `7200`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_create_table_timeout_second`
+
+Maximal waiting time for creating a table, in seconds.
+
+Type: `int`
+
+Default: `3600`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_distribution_pruner_recursion_depth`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `max_dynamic_partition_num`
+
+TODO
+
+Type: `int`
+
+Default: `500`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_error_tablet_of_broker_load`
+
+TODO
+
+Type: `int`
+
+Default: `3`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_external_cache_loader_thread_pool_size`
+
+TODO
+
+Type: `int`
+
+Default: `64`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_external_file_cache_num`
+
+TODO
+
+Type: `long`
+
+Default: `100000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_external_schema_cache_num`
+
+TODO
+
+Type: `long`
+
+Default: `10000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_external_table_row_count_cache_num`
+
+Max cache number of external table row count
+
+Type: `long`
+
+Default: `100000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_hive_list_partition_num`
+
+Max number of hive partition values to return while list partitions, -1 means no limitation.
+
+Type: `short`
+
+Default: `-1`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_hive_partition_cache_num`
+
+TODO
+
+Type: `long`
+
+Default: `100000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_hive_table_cache_num`
+
+Max cache number of hive table to partition names list.
+
+Type: `long`
+
+Default: `1000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_load_timeout_second`
+
+Maximal timeout for load job, in seconds.
+
+Type: `int`
+
+Default: `259200`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_multi_partition_num`
+
+TODO
+
+Type: `int`
+
+Default: `4096`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_mysql_service_task_threads_num`
+
+The max number of task threads in MySQL service
+
+Type: `int`
+
+Default: `4096`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_pending_mtmv_scheduler_task_num`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_persistence_task_count`
+
+Maximum number of persistence allowed per task in a job,exceeding which old tasks will be discarded,If the value is less than 1, it will not be persisted.
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_point_query_retry_time`
+
+TODO
+
+Type: `int`
+
+Default: `2`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `max_query_profile_num`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `max_query_retry_time`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `max_remote_file_system_cache_num`
+
+Max cache number of remote file system.
+
+Type: `long`
+
+Default: `100`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_replica_count_when_schema_change`
+
+TODO
+
+Type: `long`
+
+Default: `100000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_replication_num_per_tablet`
+
+TODO
+
+Type: `short`
+
+Default: `32767`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_routine_load_job_num`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_routine_load_task_concurrent_num`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_routine_load_task_num_per_be`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_running_mtmv_scheduler_task_num`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_running_rollup_job_num_per_table`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_running_txn_num_per_db`
+
+Maximum concurrent running txn num including prepare, commit txns under a single db.
+
+Type: `int`
+
+Default: `1000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_same_name_catalog_trash_num`
+
+TODO
+
+Type: `int`
+
+Default: `3`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_scheduling_tablets`
+
+TODO
+
+Type: `int`
+
+Default: `2000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_small_file_number`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_small_file_size_bytes`
+
+TODO
+
+Type: `int`
+
+Default: `1048576`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_stream_load_record_size`
+
+Default max number of recent stream load record that can be stored in memory.
+
+Type: `int`
+
+Default: `5000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_stream_load_timeout_second`
+
+Maximal timeout for stream load job, in seconds.
+
+Type: `int`
+
+Default: `259200`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_sync_task_threads_num`
+
+Maximal concurrent num of sync job.
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `max_tolerable_backend_down_num`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `max_unfinished_load_job`
+
+TODO
+
+Type: `long`
+
+Default: `1000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `maximum_number_of_export_partitions`
+
+The maximum number of partitions allowed by Export job
+
+Type: `int`
+
+Default: `2000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `maximum_parallelism_of_export_job`
+
+The maximum parallelism allowed by Export job
+
+Type: `int`
+
+Default: `50`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `maximum_tablets_of_outfile_in_export`
+
+The maximum number of tablets allowed by an OutfileStatement in an ExportExecutorTask
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `meta_delay_toleration_second`
+
+The toleration delay time of meta data synchronization, in seconds. If the delay of meta data exceeds this value, non-master FE will stop offering service
+
+Type: `int`
+
+Default: `300`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `meta_dir`
+
+The directory to save Doris meta data
+
+Type: `String`
+
+Default: `null/doris-meta`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `meta_publish_timeout_ms`
+
+TODO
+
+Type: `int`
+
+Default: `1000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `meta_service_connection_age_base_minutes`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `meta_service_connection_pool_size`
+
+TODO
+
+Type: `int`
+
+Default: `20`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `meta_service_connection_pooled`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `meta_service_endpoint`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Mutable: `false`
+
+Master only: `false`
+
+### `meta_service_rpc_retry_times`
+
+TODO
+
+Type: `int`
+
+Default: `200`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `metadata_checkpoint_memory_threshold`
+
+TODO
+
+Type: `long`
+
+Default: `70`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_backend_num_for_external_table`
+
+Only take effect when prefer_compute_node_for_external_table is true. If the compute node number is less than this value, query on external table will try to get some mix de to assign, to let the total number of node reach this value. If the compute node number is larger than this value, query on external table will assign to compute de only. -1 means only use current compute node.
+
+Type: `int`
+
+Default: `-1`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `min_be_exec_version`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `min_bytes_indicate_replica_too_large`
+
+TODO
+
+Type: `long`
+
+Default: `2147483648`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_bytes_per_broker_scanner`
+
+Minimal bytes that a single broker scanner will read. When splitting file in broker load, if the size of split file is less than this value, it will not be split.
+
+Type: `long`
+
+Default: `67108864`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_bytes_sync_commit`
+
+Min bytes that a sync job will commit. When receiving bytes less than it, SyncJob will continue to wait for the next batch of data until the time exceeds `sync_commit_interval_second`.
+
+Type: `long`
+
+Default: `15728640`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_clone_task_timeout_sec`
+
+TODO
+
+Type: `long`
+
+Default: `180`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_create_table_timeout_second`
+
+Minimal waiting time for creating a table, in seconds.
+
+Type: `int`
+
+Default: `30`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_load_replica_num`
+
+Minimal number of write successful replicas for load job.
+
+Type: `short`
+
+Default: `-1`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_load_timeout_second`
+
+Minimal timeout for load job, in seconds.
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_replication_num_per_tablet`
+
+TODO
+
+Type: `short`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_sync_commit_size`
+
+Min events that a sync job will commit. When receiving events less than it, SyncJob will continue to wait for the next batch of data until the time exceeds `sync_commit_interval_second`.
+
+Type: `long`
+
+Default: `10000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `min_version_count_indicate_replica_compaction_too_slow`
+
+TODO
+
+Type: `int`
+
+Default: `200`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `multi_partition_name_prefix`
+
+TODO
+
+Type: `String`
+
+Default: `p_`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `mysql_load_in_memory_record`
+
+TODO
+
+Type: `int`
+
+Default: `20`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_load_server_secure_path`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_load_thread_pool`
+
+TODO
+
+Type: `int`
+
+Default: `4`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_nio_backlog_num`
+
+The backlog number of mysql nio server. If you enlarge this value, you should enlarge the value in `/proc/sys/net/core/somaxconn` at the same time
+
+Type: `int`
+
+Default: `1024`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_service_io_threads_num`
+
+The number of IO threads in MySQL service
+
+Type: `int`
+
+Default: `4`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_ssl_default_ca_certificate`
+
+TODO
+
+Type: `String`
+
+Default: `null/mysql_ssl_default_certificate/ca_certificate.p12`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_ssl_default_ca_certificate_password`
+
+TODO
+
+Type: `String`
+
+Default: `doris`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_ssl_default_server_certificate`
+
+TODO
+
+Type: `String`
+
+Default: `null/mysql_ssl_default_certificate/server_certificate.p12`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysql_ssl_default_server_certificate_password`
+
+TODO
+
+Type: `String`
+
+Default: `doris`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `mysqldb_replace_name`
+
+To ensure compatibility with the MySQL ecosystem, Doris includes a built-in database called mysql. If this database conflicts with a user's own database, please modify this field to replace the name of the Doris built-in MySQL database with a different name.
+
+Type: `String`
+
+Default: `mysql`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `nereids_trace_log_dir`
+
+The path of the nereids trace file.
+
+Type: `String`
+
+Default: `null/log/nereids_trace`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `partition_in_memory_update_interval_secs`
+
+TODO
+
+Type: `int`
+
+Default: `300`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `partition_rebalance_max_moves_num_per_selection`
+
+TODO
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `partition_rebalance_move_expire_after_access`
+
+TODO
+
+Type: `long`
+
+Default: `600`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `period_analyze_simultaneously_running_task_num`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `period_of_auto_resume_min`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `plugin_dir`
+
+The installation directory of the plugin
+
+Type: `String`
+
+Default: `null/plugins`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `plugin_enable`
+
+Whether to enable the plugin
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `point_query_timeout_ms`
+
+The timeout of RPC for high concurrenty short circuit query
+
+Type: `int`
+
+Default: `10000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `prefer_compute_node_for_external_table`
+
+并且计算节点的最大数量由min_backend_num_for_external_table控制。
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `priority_networks`
+
+The preferred network address. If FE has multiple network addresses, this configuration can be used to specify the preferred network address. This is a semicolon-separated list, each element is a CIDR representation of the network address
+
+Type: `String`
+
+Default: ``
+
+Mutable: `false`
+
+Master only: `false`
+
+### `proxy_auth_enable`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `proxy_auth_magic_prefix`
+
+TODO
+
+Type: `String`
+
+Default: `x@8`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `publish_fail_log_interval_second`
+
+print log interval for publish transaction failed interval
+
+Type: `long`
+
+Default: `300`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `publish_topic_info_interval_ms`
+
+TODO
+
+Type: `int`
+
+Default: `30000`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `publish_version_check_alter_replica`
+
+Check the replicas which are doing schema change when publish transaction. Do not turn off this check under normal circumstances. It's only temporarily skip check if publish version and schema change have dead lock
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `publish_version_interval_ms`
+
+The interval of publish task trigger thread, in milliseconds
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `publish_version_timeout_second`
+
+Maximal waiting time for all publish version tasks of one transaction to be finished, in seconds.
+
+Type: `int`
+
+Default: `30`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `publish_wait_time_second`
+
+Waiting time for one transaction changing to "at least one replica success", in seconds.If time exceeds this, and for each tablet it has at least one replica publish successful, then the load task will be successful.
+
+Type: `int`
+
+Default: `300`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `pull_request_id`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `qe_max_connection`
+
+Maximal number of connections of MySQL server per FE.
+
+Type: `int`
+
+Default: `1024`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `qe_slow_log_ms`
+
+The threshold of slow query, in milliseconds. If the response time of a query exceeds this threshold, it will be recorded in audit log.
+
+Type: `long`
+
+Default: `5000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `query_audit_log_timeout_ms`
+
+TODO
+
+Type: `int`
+
+Default: `5000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `query_colocate_join_memory_limit_penalty_factor`
+
+Colocate join PlanFragment instance memory limit penalty factor.
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `query_metadata_name_ids_timeout`
+
+When querying the information_schema.metadata_name_ids table, the time used to obtain all tables in one database
+
+Type: `long`
+
+Default: `3`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `query_port`
+
+The port of FE MySQL server
+
+Type: `int`
+
+Default: `9030`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `query_queue_update_interval_ms`
+
+TODO
+
+Type: `long`
+
+Default: `5000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `recover_with_empty_tablet`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `remote_fragment_exec_timeout_ms`
+
+TODO
+
+Type: `long`
+
+Default: `30000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `repair_slow_replica`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `replica_ack_policy`
+
+The replica ack policy of bdbje. See: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.ReplicaAckPolicy.html
+
+Type: `String`
+
+Default: `SIMPLE_MAJORITY`
+
+Options: `ALL`, `NONE`, `SIMPLE_MAJORITY`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `replica_sync_policy`
+
+Same as `master_sync_policy`
+
+Type: `String`
+
+Default: `SYNC`
+
+Options: `SYNC`, `NO_SYNC`, `WRITE_NO_SYNC`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `report_queue_size`
+
+TODO
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `restore_download_task_num_per_be`
+
+The max number of download tasks assigned to each be during the restore process, the default value is 3.
+
+Type: `int`
+
+Default: `3`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `rpc_port`
+
+The port of FE thrift server
+
+Type: `int`
+
+Default: `9020`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `schedule_batch_size`
+
+TODO
+
+Type: `int`
+
+Default: `50`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `schedule_slot_num_per_hdd_path`
+
+TODO
+
+Type: `int`
+
+Default: `4`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `schedule_slot_num_per_ssd_path`
+
+TODO
+
+Type: `int`
+
+Default: `8`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `scheduler_mtmv_job_expired`
+
+TODO
+
+Type: `long`
+
+Default: `86400`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `scheduler_mtmv_task_expired`
+
+TODO
+
+Type: `long`
+
+Default: `86400`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `show_details_for_unaccessible_tablet`
+
+When set to true, if a query is unable to select a healthy replica, the detailed information of all the replicas of the tablet, including the specific reason why they are unqueryable, will be printed out.
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `skip_compaction_slower_replica`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `skip_localhost_auth_check`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `small_file_dir`
+
+TODO
+
+Type: `String`
+
+Default: `null/small_files`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `spark_dpp_version`
+
+Default spark dpp version
+
+Type: `String`
+
+Default: `1.2-SNAPSHOT`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `spark_home_default_dir`
+
+Spark dir for Spark Load
+
+Type: `String`
+
+Default: `null/lib/spark2x`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `spark_launcher_log_dir`
+
+Spark launcher log dir
+
+Type: `String`
+
+Default: `null/log/spark_launcher_log`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `spark_load_checker_interval_second`
+
+The interval of spark load job scheduler, in seconds.
+
+Type: `int`
+
+Default: `60`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `spark_load_default_timeout_second`
+
+Default timeout for spark load job, in seconds.
+
+Type: `int`
+
+Default: `86400`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `spark_resource_path`
+
+Spark dependencies dir for Spark Load
+
+Type: `String`
+
+Default: ``
+
+Mutable: `false`
+
+Master only: `false`
+
+### `split_assigner_max_split_num_variance`
+
+The maximum difference in the number of splits between nodes. If this number is exceeded, the splits will be redistributed.
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `split_assigner_min_consistent_hash_candidate_num`
+
+The consistent hash algorithm has the smallest number of candidates and will select the most idle node.
+
+Type: `int`
+
+Default: `2`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `split_assigner_min_random_candidate_num`
+
+The random algorithm has the smallest number of candidates and will select the most idle node.
+
+Type: `int`
+
+Default: `2`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `split_assigner_optimized_local_scheduling`
+
+Local node soft affinity optimization. Prefer local replication node.
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `split_assigner_virtual_node_number`
+
+When file cache is enabled, the number of virtual nodes of each node in the consistent hash algorithm. The larger the value, the more uniform the distribution of the hash algorithm, but it will increase the memory overhead.
+
+Type: `int`
+
+Default: `256`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `ssl_force_client_auth`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `ssl_trust_store_type`
+
+TODO
+
+Type: `String`
+
+Default: `PKCS12`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `statistics_simultaneously_running_task_num`
+
+TODO
+
+Type: `int`
+
+Default: `3`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `statistics_sql_mem_limit_in_bytes`
+
+TODO
+
+Type: `long`
+
+Default: `2147483648`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `statistics_sql_parallel_exec_instance_num`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `stats_cache_size`
+
+TODO
+
+Type: `long`
+
+Default: `500000`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `storage_flood_stage_left_capacity_bytes`
+
+TODO
+
+Type: `long`
+
+Default: `1073741824`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `storage_flood_stage_usage_percent`
+
+TODO
+
+Type: `int`
+
+Default: `95`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `storage_high_watermark_usage_percent`
+
+TODO
+
+Type: `int`
+
+Default: `85`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `storage_min_left_capacity_bytes`
+
+TODO
+
+Type: `long`
+
+Default: `2147483648`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `stream_load_default_memtable_on_sink_node`
+
+Whether to enable memtable on sink node by default in stream load
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `stream_load_default_precommit_timeout_second`
+
+Default pre-commit timeout for stream load job, in seconds.
+
+Type: `int`
+
+Default: `3600`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `stream_load_default_timeout_second`
+
+Default timeout for stream load job, in seconds.
+
+Type: `int`
+
+Default: `259200`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `streaming_label_keep_max_second`
+
+For some high frequency load jobs such as INSERT, STREAMING LOAD, ROUTINE_LOAD_TASK, DELETERemove the finished job or task if expired. The removed job or task can be reused.
+
+Type: `int`
+
+Default: `43200`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `sts_duration`
+
+TODO
+
+Type: `int`
+
+Default: `3600`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `sync_checker_interval_second`
+
+The interval of sync job scheduler, in seconds.
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sync_commit_interval_second`
+
+Maximal intervals between two sync job's commits.
+
+Type: `long`
+
+Default: `10`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `sync_image_timeout_second`
+
+The timeout for FE Follower/Observer synchronizing an image file from the FE Master, can be adjusted by the user on the size of image file in the ${meta_dir}/image and the network environment between nodes. The default values is 300.
+
+Type: `int`
+
+Default: `300`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `sys_log_delete_age`
+
+The maximum survival time of the FE log file. After exceeding this time, the log file will be deleted. Supported formats include: 7d, 10h, 60m, 120s
+
+Type: `String`
+
+Default: `7d`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_dir`
+
+The path of the FE log file, used to store fe.log
+
+Type: `String`
+
+Default: `null/log`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_enable_compress`
+
+enable compression for FE log file
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_level`
+
+The level of FE log
+
+Type: `String`
+
+Default: `INFO`
+
+Options: `INFO`, `WARN`, `ERROR`, `FATAL`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_mode`
+
+The output mode of FE log, and NORMAL mode is the default output mode, which means the logs are synchronized and contain location information. BRIEF mode is synchronized and does not contain location information. ASYNC mode is asynchronous and does not contain location information. The performance of the three log output modes increases in sequence
+
+Type: `String`
+
+Default: `NORMAL`
+
+Options: `NORMAL`, `BRIEF`, `ASYNC`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_roll_interval`
+
+The split cycle of the FE log file
+
+Type: `String`
+
+Default: `DAY`
+
+Options: `DAY`, `HOUR`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_roll_num`
+
+The maximum number of FE log files. After exceeding this number, the oldest log file will be deleted
+
+Type: `int`
+
+Default: `10`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `sys_log_verbose_modules`
+
+Verbose module. The VERBOSE level log is implemented by the DEBUG level of log4j. If set to `org.apache.doris.catalog`, the DEBUG log of the class under this package will be printed.
+
+Type: `String[]`
+
+Default: `[]`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `table_name_length_limit`
+
+TODO
+
+Type: `int`
+
+Default: `64`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `tablet_checker_interval_ms`
+
+TODO
+
+Type: `long`
+
+Default: `20000`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `tablet_create_timeout_second`
+
+Maximal waiting time for creating a single replica, in seconds. eg. if you create a table with #m tablets and #n replicas for each tablet, the create table request will run at most (m * n * tablet_create_timeout_second) before timeout
+
+Type: `int`
+
+Default: `2`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `tablet_delete_timeout_second`
+
+The same meaning as `tablet_create_timeout_second`, but used when delete a tablet.
+
+Type: `int`
+
+Default: `2`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `tablet_further_repair_max_times`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `tablet_further_repair_timeout_second`
+
+TODO
+
+Type: `long`
+
+Default: `1200`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `tablet_rebalancer_type`
+
+TODO
+
+Type: `String`
+
+Default: `BeLoad`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `tablet_repair_delay_factor_second`
+
+TODO
+
+Type: `long`
+
+Default: `60`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `tablet_schedule_interval_ms`
+
+TODO
+
+Type: `long`
+
+Default: `1000`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `tablet_stat_update_interval_second`
+
+TODO
+
+Type: `int`
+
+Default: `60`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `thrift_backlog_num`
+
+The backlog number of thrift server. If you enlarge this value, you should enlarge the value in `/proc/sys/net/core/somaxconn` at the same time
+
+Type: `int`
+
+Default: `1024`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `thrift_client_timeout_ms`
+
+The connection timeout of thrift client, in milliseconds. 0 means no timeout.
+
+Type: `int`
+
+Default: `0`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `thrift_server_max_worker_threads`
+
+The max worker threads of thrift server
+
+Type: `int`
+
+Default: `4096`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `thrift_server_type`
+
+TODO
+
+Type: `String`
+
+Default: `THREAD_POOL`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `tmp_dir`
+
+The directory to save Doris temp data
+
+Type: `String`
+
+Default: `null/temp_dir`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `token_generate_period_hour`
+
+TODO
+
+Type: `int`
+
+Default: `12`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `token_queue_size`
+
+TODO
+
+Type: `int`
+
+Default: `6`
+
+Mutable: `false`
+
+Master only: `true`
+
+### `transaction_clean_interval_second`
+
+The clean interval of transaction, in seconds. In each cycle, the expired history transaction will be cleaned
+
+Type: `int`
+
+Default: `30`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `txn_rollback_limit`
+
+The max txn number which bdbje can rollback when trying to rejoin the group. If the number of rollback txn is larger than this value, bdbje will not be able to rejoin the group, and you need to clean up bdbje data manually.
+
+Type: `int`
+
+Default: `100`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `urgent_balance_disk_usage_extra_threshold`
+
+TODO
+
+Type: `double`
+
+Default: `0.05`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `urgent_balance_pick_large_disk_usage_percentage`
+
+TODO
+
+Type: `int`
+
+Default: `80`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `urgent_balance_pick_large_tablet_num_threshold`
+
+TODO
+
+Type: `double`
+
+Default: `1000.0`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `urgent_balance_shuffle_large_tablet_percentage`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `use_compact_thrift_rpc`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `use_fuzzy_session_variable`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `use_mysql_bigint_for_largeint`
+
+Whether to use mysql's bigint type to return Doris's largeint type
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `use_new_tablet_scheduler`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `used_capacity_percent_max_diff`
+
+The max diff of disk capacity used percent between BE. It is used for calculating load score of a backend.
+
+Type: `double`
+
+Default: `0.3`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `using_old_load_usage_pattern`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `valid_version_count_delta_ratio_between_replicas`
+
+TODO
+
+Type: `double`
+
+Default: `0.5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `wait_internal_group_commit_finish`
+
+Wait for the internal batch to be written before returning; insert into and stream load use group commit by default.
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `with_k8s_certs`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `workload_group_max_num`
+
+TODO
+
+Type: `int`
+
+Default: `15`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `workload_max_action_num_in_policy`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `workload_max_condition_num_in_policy`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `workload_max_policy_num`
+
+TODO
+
+Type: `int`
+
+Default: `25`
+
+Mutable: `true`
+
+Master only: `true`
+
+### `workload_runtime_status_thread_interval_ms`
+
+TODO
+
+Type: `int`
+
+Default: `2000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `workload_sched_policy_interval_ms`
+
+TODO
+
+Type: `int`
+
+Default: `10000`
+
+Mutable: `true`
+
+Master only: `false`
+
+### `yarn_client_path`
+
+Yarn client path
+
+Type: `String`
+
+Default: `null/lib/yarn-client/hadoop/bin/yarn`
+
+Mutable: `false`
+
+Master only: `false`
+
+### `yarn_config_dir`
+
+Yarn config path
+
+Type: `String`
+
+Default: `null/lib/yarn-config`
+
+Mutable: `false`
+
+Master only: `false`
+
+
diff --git a/docs/en/docs/advanced/variables.md b/docs/en/docs/advanced/variables.md
index 11a2b3a0eda..62612cab5a5 100644
--- a/docs/en/docs/advanced/variables.md
+++ b/docs/en/docs/advanced/variables.md
@@ -69,7 +69,7 @@ Variables that support both session-level and global-level setting include:
* `sql_mode`
* `enable_profile`
* `query_timeout`
-* <version since="dev" type="inline">`insert_timeout`</version>
+* `insert_timeout`<version since="dev"></version>
* `exec_mem_limit`
* `batch_size`
* `parallel_fragment_exec_instance_num`
@@ -106,631 +106,2666 @@ Note that the comment must start with /*+ and can only follow the SELECT.
## Supported variables
-* `SQL_AUTO_IS_NULL`
+> Note:
+>
+> The following content is automatically generated by `docs/generate-config-and-variable-doc.sh`.
+>
+> To modify, please modify `fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java` and `fe/fe-core/src/main/java/org/apache/ Description information in doris/qe/GlobalVariable.java`.
- Used for compatible JDBC connection pool C3P0. No practical effect.
-
-* `auto_increment_increment`
+### `allow_partition_column_nullable`
- Used for compatibility with MySQL clients. No practical effect. Although Doris already has [AUTO_INCREMENT](../sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE#column_definition_list) feature, but this parameter does not affect the behavior of 'AUTO_INCREMENT'. Same as auto_increment_offset.
-
-* `autocommit`
+Whether to allow NULLABLE columns as PARTITION columns. When ON, RANGE PARTITION allows NULLABLE PARTITION columns (LIST PARTITION is not supported currently). ON by default.
- Used for compatibility with MySQL clients. No practical effect.
-
-* `auto_broadcast_join_threshold`
+Type: `boolean`
- The maximum size in bytes of the table that will be broadcast to all nodes when a join is performed, broadcast can be disabled by setting this value to -1.
+Default: `true`
- The system provides two join implementation methods, `broadcast join` and `shuffle join`.
+Read Only: `false`
- `broadcast join` means that after conditional filtering the small table, broadcast it to each node where the large table is located to form an in-memory Hash table, and then stream the data of the large table for Hash Join.
+Global only: `false`
- `shuffle join` refers to hashing both small and large tables according to the join key, and then performing distributed join.
+### `analyze_timeout`
- `broadcast join` has better performance when the data volume of the small table is small. On the contrary, shuffle join has better performance.
+TODO
- The system will automatically try to perform a Broadcast Join, or you can explicitly specify the implementation of each join operator. The system provides a configurable parameter `auto_broadcast_join_threshold`, which specifies the upper limit of the memory used by the hash table to the overall execution memory when `broadcast join` is used. The value ranges from 0 to 1, and the default value is 0.8. When the memory used by the system to calculate the hash table exceeds this limit, [...]
+Type: `int`
- The overall execution memory here is: a fraction of what the query optimizer estimates
+Default: `43200`
- > Note:
- >
- > It is not recommended to use this parameter to adjust, if you must use a certain join, it is recommended to use hint, such as join[shuffle]
+Read Only: `false`
+Global only: `true`
-* `batch_size`
+### `audit_plugin_max_batch_bytes`
+
+TODO
+
+Type: `long`
+
+Default: `52428800`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `audit_plugin_max_batch_interval_sec`
+
+TODO
+
+Type: `long`
+
+Default: `60`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `audit_plugin_max_sql_length`
+
+TODO
+
+Type: `int`
+
+Default: `4096`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `auto_analyze_end_time`
+
+This parameter defines the end time for the automatic ANALYZE routine.
+
+Type: `String`
+
+Default: `23:59:59`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `auto_analyze_start_time`
+
+This parameter defines the start time for the automatic ANALYZE routine.
+
+Type: `String`
+
+Default: `00:00:00`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `auto_analyze_table_width_threshold`
+
+Maximum table width to enable auto analyze, table with more columns than this value will not be auto analyzed.
+
+Type: `int`
+
+Default: `100`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `auto_broadcast_join_threshold`
+
+TODO
+
+Type: `double`
+
+Default: `0.8`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `auto_increment_increment`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `autocommit`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `batch_size`
+
+TODO
+
+Type: `int`
+
+Default: `4064`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `character_set_client`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `character_set_connection`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `character_set_results`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `character_set_server`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `cloud_cluster`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `codegen_level`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `collation_connection`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4_0900_bin`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `collation_database`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4_0900_bin`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `collation_server`
+
+TODO
+
+Type: `String`
+
+Default: `utf8mb4_0900_bin`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `cpu_resource_limit`
+
+TODO
+
+Type: `int`
+
+Default: `-1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `create_table_partition_max_num`
+
+The maximum number of partitions created during table creation
+
+Type: `int`
+
+Default: `10000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `decimal_overflow_scale`
+
+When the precision of the result of a decimal numerical calculation overflows,the maximum number of decimal scale that the result can be retained
+
+Type: `int`
+
+Default: `6`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `default_password_lifetime`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `default_rowset_type`
+
+TODO
+
+Type: `String`
+
+Default: `beta`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `default_storage_engine`
+
+TODO
+
+Type: `String`
+
+Default: `olap`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `default_tmp_storage_engine`
+
+TODO
+
+Type: `String`
+
+Default: `olap`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `delete_without_partition`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `describe_extend_variant_column`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `disable_colocate_plan`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `disable_empty_partition_prune`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `disable_streaming_preaggregations`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `div_precision_increment`
+
+TODO
+
+Type: `int`
+
+Default: `4`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `drop_table_if_ctas_failed`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `dry_run_query`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `dump_nereids_memo`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_agg_spill`
+
+Controls whether to enable spill to disk of aggregation operation. The default value is false.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `experimental_enable_agg_state`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_analyze_complex_type_column`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_audit_plugin`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `enable_auto_analyze`
+
+Set false to disable auto analyze
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `enable_bucket_shuffle_downgrade`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_bucket_shuffle_join`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_cbo_statistics`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_common_expr_pushdown`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_count_on_index_pushdown`
+
+Set whether to pushdown count_on_index.
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_cte_materialize`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_decimal256`
+
+Set to true to enable Decimal256 type
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_delete_sub_predicate_v2`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_distinct_streaming_aggregation`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_dphyp_optimizer`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_dphyp_trace`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_eliminate_sort_node`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_exchange_node_parallel_merge`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_ext_func_pred_pushdown`
+
+Enable function pushdown for predicates in queries to external tables (such as tables accessed via ODBC or JDBC)
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_fallback_to_original_planner`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_file_cache`
+
+Set wether to use file cache. This variable takes effect only if the BE config enable_file_cache=true. The cache is not used when BE config enable_file_cache=false.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_fold_nondeterministic_fn`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_function_pushdown`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_hash_join_early_start_probe`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_insert_strict`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_inverted_index_query`
+
+Set whether to use inverted index query.
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_join_spill`
+
+Controls whether to enable spill to disk of join operation. The default value is false.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `deprecated_enable_local_exchange`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_materialized_view_rewrite`
+
+Whether to enable materialized view rewriting based on struct info
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_memtable_on_sink_node`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_minidump`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_nereids_dml`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `experimental_enable_nereids_dml_with_pipeline`
+
+execute DML with pipeline engine in Nereids
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_nereids_rules`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_nereids_timeout`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_odbc_transcation`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_orc_lazy_materialization`
+
+Controls whether to use lazy materialization technology in orc reader. The default value is true.
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_page_cache`
+
+Controls whether to use page cache. The default value is true.
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_parallel_outfile`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_parquet_lazy_materialization`
+
+Controls whether to use lazy materialization technology in parquet reader. The default value is true.
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_partition_cache`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_profile`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_push_down_no_group_agg`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_pushdown_minmax_on_unique`
+
+Set whether to pushdown minmax on unique table.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_pushdown_string_minmax`
+
+Set whether to enable push down string type minmax.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_runtime_filter_prune`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_scan_node_run_serial`
+
+Whether to enable ScanNode serial reading to avoid read amplification in cases of small limitswhich can improve query concurrency. default is false.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_share_hash_table_for_broadcast_join`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_single_distinct_column_opt`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `experimental_enable_single_replica_insert`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_sort_spill`
+
+Controls whether to enable spill to disk of sort operation. The default value is false.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_spilling`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_sql_cache`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_stats`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_strict_consistency_dml`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_strong_consistency_read`
+
+Used to enable strong consistent reading. By default, Doris supports strong consistency within the same session, that is, changes to data within the same session are visible in real time. If you want strong consistent reads between sessions, set this variable to true.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_two_phase_read_opt`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_unicode_name_support`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_unique_key_partial_update`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_variant_access_in_original_planner`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `enable_vectorized_engine`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `event_scheduler`
+
+TODO
+
+Type: `String`
+
+Default: `OFF`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `exec_mem_limit`
+
+TODO
+
+Type: `long`
+
+Default: `2147483648`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `expand_runtime_filter_by_inner_join`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `external_agg_bytes_threshold`
+
+TODO
+
+Type: `long`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `external_agg_partition_bits`
+
+TODO
+
+Type: `int`
+
+Default: `8`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `external_sort_bytes_threshold`
+
+TODO
+
+Type: `long`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `external_table_analyze_part_num`
+
+Number of sample partition for collecting external table line number, default -1 means all partitions
+
+Type: `int`
+
+Default: `-1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `external_table_auto_analyze_interval_in_millis`
+
+This controls the minimum time interval for automatic ANALYZE on external tables.Within this interval, external tables are analyzed only once.
+
+Type: `long`
+
+Default: `86400000`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `extract_wide_range_expr`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `fallback_other_replica_when_fixed_corrupt`
+
+use other health replica when the use_fix_replica meet error
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `faster_float_convert`
+
+Set true to enable faster float pointer number convert
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `file_cache_base_path`
+
+Specify the storage path of the block file cache on BE, default 'random', and randomly select the storage path configured by BE.
+
+Type: `String`
+
+Default: `random`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `file_split_size`
+
+TODO
+
+Type: `long`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `forbid_unknown_col_stats`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `forward_to_master`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `fragment_transmission_compression_codec`
+
+TODO
+
+Type: `String`
+
+Default: `none`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `generate_stats_factor`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `group_by_and_having_use_alias_first`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `group_commit`
+
+TODO
+
+Type: `String`
+
+Default: `off_mode`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `group_concat_max_len`
+
+TODO
+
+Type: `long`
+
+Default: `2147483646`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `have_query_cache`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `true`
+
+Global only: `false`
+
+### `huge_table_auto_analyze_interval_in_millis`
+
+This controls the minimum time interval for automatic ANALYZE on large tables.Within this interval,tables larger than huge_table_lower_bound_size_in_bytes are analyzed only once.
+
+Type: `long`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `huge_table_default_sample_rows`
+
+This defines the number of sample percent for large tables when automatic sampling forlarge tables is enabled
+
+Type: `long`
+
+Default: `4194304`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `huge_table_lower_bound_size_in_bytes`
+
+This defines the lower size bound for large tables. When enable_auto_sample is enabled, tableslarger than this value will automatically collect statistics through sampling
+
+Type: `long`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `ignore_runtime_filter_ids`
+
+the runtime filter id in IGNORE_RUNTIME_FILTER_IDS list will not be generated
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `ignore_shape_nodes`
+
+the plan node type which is ignored in 'explain shape plan' command
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `init_connect`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `true`
+
+### `inline_cte_referenced_threshold`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `insert_timeout`
+
+TODO
+
+Type: `int`
+
+Default: `14400`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `insert_visible_timeout_ms`
+
+TODO
+
+Type: `long`
+
+Default: `10000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `interactive_timeout`
+
+TODO
+
+Type: `int`
+
+Default: `3600`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `internal_session`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `inverted_index_conjunction_opt_threshold`
+
+When intersecting multiple inverted indexes in match_all, if the maximum total count of the largest inverted index is a multiple of the minimum total count of the smallest inverted index, use a skiplist to optimize the intersection.
+
+Type: `int`
+
+Default: `1000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `inverted_index_max_expansions`
+
+This parameter is used to limit the number of term expansions during a query, thereby controlling query performance
+
+Type: `int`
+
+Default: `50`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `inverted_index_skip_threshold`
+
+In the inverted index, if the estimated hit ratio exceeds the percentage threshold of the total amount, then skip the index and proceed directly to matching.
+
+Type: `int`
+
+Default: `50`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `jdbc_clickhouse_query_final`
+
+Whether to add the FINAL keyword to the query SQL when querying ClickHouse JDBC external tables.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `join_order_time_limit`
+
+TODO
+
+Type: `long`
+
+Default: `1000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `language`
+
+TODO
+
+Type: `String`
+
+Default: `/palo/share/english/`
+
+Read Only: `true`
+
+Global only: `false`
+
+### `license`
+
+TODO
+
+Type: `String`
+
+Default: `Apache License, Version 2.0`
+
+Read Only: `true`
+
+Global only: `false`
+
+### `load_stream_per_node`
+
+TODO
+
+Type: `int`
+
+Default: `2`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `lower_case_table_names`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Read Only: `true`
+
+Global only: `false`
+
+### `materialized_view_rewrite_enable_contain_external_table`
+
+Whether to use a materialized view that contains the foreign table when using rewriting based on struct info
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `materialized_view_rewrite_success_candidate_num`
+
+The max candidate num which participate in CBO when using asynchronous materialized views
+
+Type: `int`
+
+Default: `3`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_allowed_packet`
+
+TODO
+
+Type: `int`
+
+Default: `1048576`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_execution_time`
+
+TODO
+
+Type: `int`
+
+Default: `900000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_instance_num`
+
+TODO
+
+Type: `int`
+
+Default: `64`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_msg_size_of_result_receiver`
+
+用于控制结果反序列化时 thrift 字段的最大值,当遇到类似"MaxMessageSize reached"这样的错误时可以考虑修改该参数
+
+Type: `int`
+
+Default: `104857600`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_pushdown_conditions_per_column`
+
+TODO
+
+Type: `int`
+
+Default: `-1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_scan_key_num`
+
+TODO
+
+Type: `int`
+
+Default: `-1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `max_table_count_use_cascades_join_reorder`
+
+TODO
+
+Type: `int`
+
+Default: `10`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `memo_max_group_expression_size`
+
+TODO
+
+Type: `int`
+
+Default: `10000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `min_revocable_mem`
+
+TODO
+
+Type: `long`
+
+Default: `33554432`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `minidump_path`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `nereids_timeout_second`
+
+TODO
+
+Type: `int`
+
+Default: `5`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `nereids_trace_event_mode`
+
+TODO
+
+Type: `String`
+
+Default: `all`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `net_buffer_length`
+
+TODO
+
+Type: `int`
+
+Default: `16384`
+
+Read Only: `true`
+
+Global only: `false`
+
+### `net_read_timeout`
+
+TODO
+
+Type: `int`
+
+Default: `60`
- Used to specify the number of rows of a single packet transmitted by each node during query execution. By default, the number of rows of a packet is 1024 rows. That is, after the source node generates 1024 rows of data, it is packaged and sent to the destination node.
-
- A larger number of rows will increase the throughput of the query in the case of scanning large data volumes, but may increase the query delay in small query scenario. At the same time, it also increases the memory overhead of the query. The recommended setting range is 1024 to 4096.
-
-* `character_set_client`
+Read Only: `false`
- Used for compatibility with MySQL clients. No practical effect.
+Global only: `false`
-* `character_set_connection`
+### `net_write_timeout`
- Used for compatibility with MySQL clients. No practical effect.
+TODO
-* `character_set_results`
+Type: `int`
- Used for compatibility with MySQL clients. No practical effect.
+Default: `60`
-* `character_set_server`
+Read Only: `false`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `codegen_level`
+Global only: `false`
- Used to set the level of LLVM codegen. (Not currently in effect).
-
-* `collation_connection`
+### `num_scanner_threads`
- Used for compatibility with MySQL clients. No practical effect.
+The max threads to read data of ScanNode, default 0, use doris_scanner_thread_pool_thread_num in be.conf
-* `collation_database`
+Type: `int`
- Used for compatibility with MySQL clients. No practical effect.
+Default: `0`
-* `collation_server`
+Read Only: `false`
- Used for compatibility with MySQL clients. No practical effect.
+Global only: `false`
-* `have_query_cache`
+### `parallel_exchange_instance_num`
- Used for compatibility with MySQL clients. No practical effect.
+TODO
-* `default_order_by_limit`
+Type: `int`
- Used to control the default number of items returned after OrderBy. The default value is -1, and the maximum number of records after the query is returned by default, and the upper limit is the MAX_VALUE of the long data type.
+Default: `-1`
-* `delete_without_partition`
+Read Only: `false`
- When set to true. When using the delete command to delete partition table data, no partition is required. The delete operation will be automatically applied to all partitions.
+Global only: `false`
- Note, however, that the automatic application to all partitions may cause the delete command to take a long time to trigger a large number of subtasks and cause a long time. If it is not necessary, it is not recommended to turn it on.
+### `parallel_fragment_exec_instance_num`
-* `disable_colocate_join`
+TODO
- Controls whether the [Colocation Join](../query-acceleration/join-optimization/colocation-join.md) function is enabled. The default is false, which means that the feature is enabled. True means that the feature is disabled. When this feature is disabled, the query plan will not attempt to perform a Colocation Join.
-
-* `enable_bucket_shuffle_join`
+Type: `int`
- Controls whether the [Bucket Shuffle Join](../query-acceleration/join-optimization/bucket-shuffle-join.md) function is enabled. The default is true, which means that the feature is enabled. False means that the feature is disabled. When this feature is disabled, the query plan will not attempt to perform a Bucket Shuffle Join.
+Default: `8`
-* `disable_streaming_preaggregations`
+Read Only: `false`
- Controls whether streaming pre-aggregation is turned on. The default is false, which is enabled. Currently not configurable and enabled by default.
-
-* `enable_insert_strict`
+Global only: `false`
- Used to set the `strict` mode when loading data via INSERT statement. The default is false, which means that the `strict` mode is not turned on. For an introduction to this mode, see [here](../data-operate/import/import-way/insert-into-manual.md).
+### `parallel_pipeline_task_num`
-* `enable_spilling`
+TODO
- Used to set whether to enable external sorting. The default is false, which turns off the feature. This feature is enabled when the user does not specify a LIMIT condition for the ORDER BY clause and also sets `enable_spilling` to true. When this feature is enabled, the temporary data is stored in the `doris-scratch/` directory of the BE data directory and the temporary data is cleared after the query is completed.
-
- This feature is mainly used for sorting operations with large amounts of data using limited memory.
-
- Note that this feature is experimental and does not guarantee stability. Please turn it on carefully.
-
-* `exec_mem_limit`
+Type: `int`
- Used to set the memory limit for a single query. The default is 2GB, you can set it in B/K/KB/M/MB/G/GB/T/TB/P/PB, the default is B.
-
- This parameter is used to limit the memory that can be used by an instance of a single query fragment in a query plan. A query plan may have multiple instances, and a BE node may execute one or more instances. Therefore, this parameter does not accurately limit the memory usage of a query across the cluster, nor does it accurately limit the memory usage of a query on a single BE node. The specific needs need to be judged according to the generated query plan.
-
- Usually, only some blocking nodes (such as sorting node, aggregation node, and join node) consume more memory, while in other nodes (such as scan node), data is streamed and does not occupy much memory.
-
- When a `Memory Exceed Limit` error occurs, you can try to increase the parameter exponentially, such as 4G, 8G, 16G, and so on.
-
- It should be noted that this value may fluctuate by a few MB.
-
-* `forward_to_master`
-
- The user sets whether to forward some commands to the Master FE node for execution. The default is `true`, which means forwarding. There are multiple FE nodes in Doris, one of which is the Master node. Usually users can connect to any FE node for full-featured operation. However, some of detail information can only be obtained from the Master FE node.
-
- For example, the `SHOW BACKENDS;` command, if not forwarded to the Master FE node, can only see some basic information such as whether the node is alive, and forwarded to the Master FE to obtain more detailed information including the node startup time and the last heartbeat time.
-
- The commands currently affected by this parameter are as follows:
-
- 1. `SHOW FRONTEND;`
-
- Forward to Master to view the last heartbeat information.
-
- 2. `SHOW BACKENDS;`
-
- Forward to Master to view startup time, last heartbeat information, and disk capacity information.
-
- 3. `SHOW BROKERS;`
-
- Forward to Master to view the start time and last heartbeat information.
-
- 4. `SHOW TABLET;`/`SHOW REPLICA DISTRIBUTION;`/`SHOW REPLICA STATUS;`
-
- Forward to Master to view the tablet information stored in the Master FE metadata. Under normal circumstances, the tablet information in different FE metadata should be consistent. When a problem occurs, this method can be used to compare the difference between the current FE and Master FE metadata.
-
- 5. `SHOW PROC;`
-
- Forward to Master to view information about the relevant PROC stored in the Master FE metadata. Mainly used for metadata comparison.
-
-* `init_connect`
-
- Used for compatibility with MySQL clients. No practical effect.
-
-* `interactive_timeout`
-
- Used for compatibility with MySQL clients. No practical effect.
-
-* `enable_profile`
+Default: `0`
- Used to set whether you need to view the profile of the query. The default is false, which means no profile is required.
-
- By default, the BE sends a profile to the FE for viewing errors only if an error occurs in the query. A successful query will not send a profile. Sending a profile will incur a certain amount of network overhead, which is detrimental to a high concurrent query scenario.
-
- When the user wants to analyze the profile of a query, the query can be sent after this variable is set to true. After the query is finished, you can view the profile on the web page of the currently connected FE:
-
- `fe_host:fe_http:port/query`
-
- It will display the most recent 100 queries which `enable_profile` is set to true.
-
-* `language`
+Read Only: `false`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `license`
-
- Show Doris's license. No other effect.
+Global only: `false`
-* `lower_case_table_names`
+### `parallel_sync_analyze_task_num`
- Used to control whether the user table name is case-sensitive.
+TODO
- A value of 0 makes the table name case-sensitive. The default is 0.
+Type: `int`
- When the value is 1, the table name is case insensitive. Doris will convert the table name to lowercase when storing and querying.
- The advantage is that any case of table name can be used in one statement. The following SQL is correct:
- ```
- mysql> show tables;
- +------------------+
- | Tables_ in_testdb|
- +------------------+
- | cost |
- +------------------+
- mysql> select * from COST where COst.id < 100 order by cost.id;
- ```
- The disadvantage is that the table name specified in the table creation statement cannot be obtained after table creation. The table name viewed by 'show tables' is lower case of the specified table name.
+Default: `2`
- When the value is 2, the table name is case insensitive. Doris stores the table name specified in the table creation statement and converts it to lowercase for comparison during query.
- The advantage is that the table name viewed by 'show tables' is the table name specified in the table creation statement;
- The disadvantage is that only one case of table name can be used in the same statement. For example, the table name 'cost' can be used to query the 'cost' table:
- ```
- mysql> select * from COST where COST.id < 100 order by COST.id;
- ```
+Read Only: `false`
- This variable is compatible with MySQL and must be configured at cluster initialization by specifying `lower_case_table_names=` in fe.conf. It cannot be modified by the `set` statement after cluster initialization is complete, nor can it be modified by restarting or upgrading the cluster.
+Global only: `false`
- The system view table names in information_schema are case-insensitive and behave as 2 when the value of `lower_case_table_names` is 0.
+### `partition_pruning_expand_threshold`
+TODO
-* `max_allowed_packet`
+Type: `int`
- Used for compatible JDBC connection pool C3P0. No practical effect.
-
-* `max_pushdown_conditions_per_column`
+Default: `10`
- For the specific meaning of this variable, please refer to the description of `max_pushdown_conditions_per_column` in [BE Configuration](../admin-manual/config/be-config.md). This variable is set to -1 by default, which means that the configuration value in `be.conf` is used. If the setting is greater than 0, the query in the current session will use the variable value, and ignore the configuration value in `be.conf`.
+Read Only: `false`
-* `max_scan_key_num`
+Global only: `false`
- For the specific meaning of this variable, please refer to the description of `doris_max_scan_key_num` in [BE Configuration](../admin-manual/config/be-config.md). This variable is set to -1 by default, which means that the configuration value in `be.conf` is used. If the setting is greater than 0, the query in the current session will use the variable value, and ignore the configuration value in `be.conf`.
+### `partitioned_hash_agg_rows_threshold`
-* `net_buffer_length`
+TODO
- Used for compatibility with MySQL clients. No practical effect.
+Type: `int`
-* `net_read_timeout`
+Default: `0`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `net_write_timeout`
+Read Only: `false`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `parallel_exchange_instance_num`
+Global only: `false`
- Used to set the number of exchange nodes used by an upper node to receive data from the lower node in the execution plan. The default is -1, which means that the number of exchange nodes is equal to the number of execution instances of the lower nodes (default behavior). When the setting is greater than 0 and less than the number of execution instances of the lower node, the number of exchange nodes is equal to the set value.
-
- In a distributed query execution plan, the upper node usually has one or more exchange nodes for receiving data from the execution instances of the lower nodes on different BEs. Usually the number of exchange nodes is equal to the number of execution instances of the lower nodes.
-
- In some aggregate query scenarios, if the amount of data to be scanned at the bottom is large, but the amount of data after aggregation is small, you can try to modify this variable to a smaller value, which can reduce the resource overhead of such queries. Such as the scenario of aggregation query on the DUPLICATE KEY data model.
+### `partitioned_hash_join_rows_threshold`
-* `parallel_fragment_exec_instance_num`
+TODO
- For the scan node, set its number of instances to execute on each BE node. The default is 1.
-
- A query plan typically produces a set of scan ranges, the range of data that needs to be scanned. These data are distributed across multiple BE nodes. A BE node will have one or more scan ranges. By default, a set of scan ranges for each BE node is processed by only one execution instance. When the machine resources are abundant, you can increase the variable and let more execution instances process a set of scan ranges at the same time, thus improving query efficiency.
-
- The number of scan instances determines the number of other execution nodes in the upper layer, such as aggregate nodes and join nodes. Therefore, it is equivalent to increasing the concurrency of the entire query plan execution. Modifying this parameter will help improve the efficiency of large queries, but larger values will consume more machine resources, such as CPU, memory, and disk IO.
-
-* `query_cache_size`
+Type: `int`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `query_cache_type`
+Default: `0`
- Used for compatible JDBC connection pool C3P0. No practical effect.
-
-* `query_timeout`
+Read Only: `false`
- Used to set the query timeout. This variable applies to all query statements in the current connection. Particularly, timeout of INSERT statements is recommended to be managed by the insert_timeout below. The default is 15 minutes, in seconds.
+Global only: `false`
-* `insert_timeout`
+### `password_history`
- <version since="dev"></version>Used to set the insert timeout. This variable applies to INSERT statements particularly in the current connection, and is recommended to manage long-duration INSERT action. The default is 4 hours, in seconds. It will lose effect when query_timeout is
- greater than itself to make it compatible with the habits of older version users to use query_timeout to control the timeout of INSERT statements.
+TODO
-* `resource_group`
+Type: `int`
- Not used.
-
-* `send_batch_parallelism`
+Default: `0`
- Used to set the default parallelism for sending batch when execute InsertStmt operation, if the value for parallelism exceed `max_send_batch_parallelism_per_job` in BE config, then the coordinator BE will use the value of `max_send_batch_parallelism_per_job`.
+Read Only: `false`
-* `sql_mode`
+Global only: `true`
- Used to specify SQL mode to accommodate certain SQL dialects. For the SQL mode, see [here](./sql-mode.md).
-
-* `sql_safe_updates`
+### `performance_schema`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `sql_select_limit`
+TODO
- Used to limit return rows of select stmt, including select clause of insert stmt.
+Type: `String`
-* `system_time_zone`
+Default: `OFF`
- Set to the current system time zone when the cluster is initialised. It cannot be changed.
-
-* `time_zone`
+Read Only: `true`
- Used to set the time zone for the current session. Defaults to the value of `system_time_zone`. It affects the results of certain time functions. For more information, see the [time zone](./time-zone) documentation.
-
-* `tx_isolation`
+Global only: `false`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `tx_read_only`
+### `plan_nereids_dump`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `transaction_read_only`
+TODO
- Used for compatibility with MySQL clients. No practical effect.
-
-* `transaction_isolation`
+Type: `boolean`
- Used for compatibility with MySQL clients. No practical effect.
-
-* `version`
+Default: `false`
- Used for compatibility with MySQL clients. No practical effect.
+Read Only: `false`
-* `performance_schema`
+Global only: `false`
- Used for compatibility with MySQL JDBC 8.0.16 or later version. No practical effect.
-
-* `version_comment`
+### `prefer_join_method`
- Used to display the version of Doris. Cannot be changed.
-
-* `wait_timeout`
+TODO
- The length of the connection used to set up an idle connection. When an idle connection does not interact with Doris for that length of time, Doris will actively disconnect the link. The default is 8 hours, in seconds.
+Type: `String`
-* `default_rowset_type`
+Default: `broadcast`
- Used for setting the default storage format of Backends storage engine. Valid options: alpha/beta
+Read Only: `false`
-* `use_v2_rollup`
+Global only: `false`
- Used to control the sql query to use segment v2 rollup index to get data. This variable is only used for validation when upgrading to segment v2 feature. Otherwise, not recommended to use.
+### `profile_level`
-* `rewrite_count_distinct_to_bitmap_hll`
+TODO
- Whether to rewrite count distinct queries of bitmap and HLL types as bitmap_union_count and hll_union_agg.
+Type: `int`
-* `prefer_join_method`
+Default: `1`
- When choosing the join method(broadcast join or shuffle join), if the broadcast join cost and shuffle join cost are equal, which join method should we prefer.
+Read Only: `false`
- Currently, the optional values for this variable are "broadcast" or "shuffle".
+Global only: `false`
-* `allow_partition_column_nullable`
+### `profiling`
- Whether to allow the partition column to be NULL when creating the table. The default is true, which means NULL is allowed. false means the partition column must be defined as NOT NULL.
+TODO
-* `insert_visible_timeout_ms`
+Type: `boolean`
- When execute insert statement, doris will wait for the transaction to commit and visible after the import is completed.
- This parameter controls the timeout of waiting for transaction to be visible. The default value is 10000, and the minimum value is 1000.
+Default: `false`
-* `enable_exchange_node_parallel_merge`
+Read Only: `false`
- In a sort query, when an upper level node receives the ordered data of the lower level node, it will sort the corresponding data on the exchange node to ensure that the final data is ordered. However, when a single thread merges multiple channels of data, if the amount of data is too large, it will lead to a single point of exchange node merge bottleneck.
+Global only: `false`
- Doris optimizes this part if there are too many data nodes in the lower layer. Exchange node will start multithreading for parallel merging to speed up the sorting process. This parameter is false by default, which means that exchange node does not adopt parallel merge sort to reduce the extra CPU and memory consumption.
+### `query_cache_size`
-* `extract_wide_range_expr`
+TODO
- Used to control whether turn on the 'Wide Common Factors' rule. The value has two: true or false. On by default.
+Type: `long`
-* `enable_fold_constant_by_be`
+Default: `1048576`
- Used to control the calculation method of constant folding. The default is `false`, that is, calculation is performed in `FE`; if it is set to `true`, it will be calculated by `BE` through `RPC` request.
-
-* `cpu_resource_limit`
-
- Used to limit the resource overhead of a query. This is an experimental feature. The current implementation is to limit the number of scan threads for a query on a single node. The number of scan threads is limited, and the data returned from the bottom layer slows down, thereby limiting the overall computational resource overhead of the query. Assuming it is set to 2, a query can use up to 2 scan threads on a single node.
-
- This parameter will override the effect of `parallel_fragment_exec_instance_num`. That is, assuming that `parallel_fragment_exec_instance_num` is set to 4, and this parameter is set to 2. Then 4 execution instances on a single node will share up to 2 scanning threads.
-
- This parameter will be overridden by the `cpu_resource_limit` configuration in the user property.
-
- The default is -1, which means no limit.
-
-* `disable_join_reorder`
-
- Used to turn off all automatic join reorder algorithms in the system. There are two values: true and false.It is closed by default, that is, the automatic join reorder algorithm of the system is adopted. After set to true, the system will close all automatic sorting algorithms, adopt the original SQL table order, and execute join
-
-* `enable_infer_predicate`
-
- Used to control whether to perform predicate derivation. There are two values: true and false. It is turned off by default, that is, the system does not perform predicate derivation, and uses the original predicate to perform related operations. After it is set to true, predicate expansion is performed.
-
-* `return_object_data_as_binary`
- Used to identify whether to return the bitmap/hll result in the select result. In the select into outfile statement, if the export file format is csv, the bimap/hll data will be base64-encoded, if it is the parquet file format, the data will be stored as a byte array. Below will be an example of Java, more examples can be found in [samples](https://github.com/apache/doris/tree/master/samples/read_bitmap).
-
- ```java
- try (Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:9030/test?user=root");
- Statement stmt = conn.createStatement()
- ) {
- stmt.execute("set return_object_data_as_binary=true"); // IMPORTANT!!!
- ResultSet rs = stmt.executeQuery("select uids from t_bitmap");
- while(rs.next()){
- byte[] bytes = rs.getBytes(1);
- RoaringBitmap bitmap32 = new RoaringBitmap();
- switch(bytes[0]) {
- case 0: // for empty bitmap
- break;
- case 1: // for only 1 element in bitmap32
- bitmap32.add(ByteBuffer.wrap(bytes,1,bytes.length-1)
- .order(ByteOrder.LITTLE_ENDIAN)
- .getInt());
- break;
- case 2: // for more than 1 elements in bitmap32
- bitmap32.deserialize(ByteBuffer.wrap(bytes,1,bytes.length-1));
- break;
- // for more details, see https://github.com/apache/doris/tree/master/samples/read_bitmap
- }
- }
- }
- ```
-
-* `block_encryption_mode`
- The block_encryption_mode variable controls the block encryption mode. The default setting is empty, when use AES equal to `AES_128_ECB`, when use SM4 equal to `SM3_128_ECB`
- available values:
-
- ```
- AES_128_ECB,
- AES_192_ECB,
- AES_256_ECB,
- AES_128_CBC,
- AES_192_CBC,
- AES_256_CBC,
- AES_128_CFB,
- AES_192_CFB,
- AES_256_CFB,
- AES_128_CFB1,
- AES_192_CFB1,
- AES_256_CFB1,
- AES_128_CFB8,
- AES_192_CFB8,
- AES_256_CFB8,
- AES_128_CFB128,
- AES_192_CFB128,
- AES_256_CFB128,
- AES_128_CTR,
- AES_192_CTR,
- AES_256_CTR,
- AES_128_OFB,
- AES_192_OFB,
- AES_256_OFB,
- SM4_128_ECB,
- SM4_128_CBC,
- SM4_128_CFB128,
- SM4_128_OFB,
- SM4_128_CTR,
- ```
-
-* `enable_infer_predicate`
-
- Used to control whether predicate deduction is performed. There are two values: true and false. It is turned off by default, and the system does not perform predicate deduction, and uses the original predicate for related operations. When set to true, predicate expansion occurs.
-
-* `trim_tailing_spaces_for_external_table_query`
-
- Used to control whether trim the tailing spaces while quering Hive external tables. The default is false.
-
-* `skip_storage_engine_merge`
-
- For debugging purpose. In vectorized execution engine, in case of problems of reading data of Aggregate Key model and Unique Key model, setting value to `true` will read data as Duplicate Key model.
-
-* `skip_delete_predicate`
-
- For debugging purpose. In vectorized execution engine, in case of problems of reading data, setting value to `true` will also read deleted data.
-
-* `skip_delete_bitmap`
-
- For debugging purpose. In Unique Key MoW table, in case of problems of reading data, setting value to `true` will also read deleted data.
-
-* `skip_missing_version`
-
- In some scenarios, all replicas of tablet are having missing versions, and the tablet is unable to recover. This config can control the behavior of query. When it is opened, the query will ignore the visible version recorded in FE partition, use the replica version. If the replica on be has missing versions, the query will directly skip this missing version, and only return the data of the existing version, In addition, the query will always try to select the one with the highest las [...]
-
-* `skip_bad_tablet`
-
- In some scenarios, user has a huge amount of data and only a single replica was specified when creating the table, if one of the tablet is damaged, the table will not be able to be select. If the user does not care about the integrity of the data, they can use this variable to temporarily skip the bad tablet for querying and load the remaining data into a new table.
+Read Only: `false`
-* `default_password_lifetime`
+Global only: `true`
- Default password expiration time. The default value is 0, which means no expiration. The unit is days. This parameter is only enabled if the user's password expiration property has a value of DEFAULT. like:
+### `query_cache_type`
- ````
- CREATE USER user1 IDENTIFIED BY "12345" PASSWORD_EXPIRE DEFAULT;
- ALTER USER user1 PASSWORD_EXPIRE DEFAULT;
- ````
+TODO
-* `password_history`
+Type: `int`
- The default number of historical passwords. The default value is 0, which means no limit. This parameter is enabled only when the user's password history attribute is the DEFAULT value. like:
+Default: `0`
- ````
- CREATE USER user1 IDENTIFIED BY "12345" PASSWORD_HISTORY DEFAULT;
- ALTER USER user1 PASSWORD_HISTORY DEFAULT;
- ````
+Read Only: `false`
-* `validate_password_policy`
+Global only: `false`
+
+### `repeat_max_num`
+
+TODO
+
+Type: `int`
+
+Default: `10000`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `resource_group`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `rewrite_count_distinct_to_bitmap_hll`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `round_precise_decimalv2_value`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `runtime_filter_jump_threshold`
+
+TODO
+
+Type: `int`
+
+Default: `2`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `runtime_filter_prune_for_external`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `scan_queue_mem_limit`
+
+TODO
+
+Type: `long`
+
+Default: `107374182`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `scanner_scale_up_ratio`
+
+The max multiple of increasing the concurrency of scanners adaptively, default 0, turn off scaling up
+
+Type: `double`
+
+Default: `0.0`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `send_batch_parallelism`
+
+TODO
+
+Type: `int`
+
+Default: `1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `session_context`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `false`
+
+### `show_all_fe_connection`
+
+当变量为true时,show processlist命令展示所有fe的连接
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `show_full_dbname_in_info_schema_db`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `show_hidden_columns`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `show_user_default_role`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `skip_bad_tablet`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `skip_delete_bitmap`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `skip_delete_predicate`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `skip_delete_sign`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `skip_missing_version`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `skip_storage_engine_merge`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `sql_auto_is_null`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `sql_converter_service_url`
+
+TODO
+
+Type: `String`
+
+Default: ``
+
+Read Only: `false`
+
+Global only: `true`
+
+### `sql_dialect`
+
+The dialect used to parse sql.
+
+Type: `String`
+
+Default: `doris`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `sql_mode`
+
+TODO
+
+Type: `long`
+
+Default: `1`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `sql_quote_show_create`
+
+TODO
+
+Type: `boolean`
+
+Default: `true`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `sql_safe_updates`
+
+TODO
+
+Type: `int`
+
+Default: `0`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `stats_insert_merge_item_count`
+
+Controls the batch size for stats INSERT merging.
+
+Type: `int`
+
+Default: `200`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `storage_engine`
+
+TODO
+
+Type: `String`
+
+Default: `olap`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `system_time_zone`
+
+TODO
+
+Type: `String`
+
+Default: `Asia/Shanghai`
+
+Read Only: `true`
+
+Global only: `false`
+
+### `table_stats_health_threshold`
+
+The value should be between 0 and 100. When the data update quantity exceeds (100 - table_stats_health_threshold)% since the last statistics collection operation, the statistics for this table areconsidered outdated.
+
+Type: `int`
+
+Default: `60`
+
+Read Only: `false`
+
+Global only: `true`
+
+### `test_query_cache_hit`
+
+Used to test whether the query cache is hit. If the specified type of cache is not hit, an error will be reported.
+
+Type: `String`
+
+Default: `none`
+
+Options: `none`, `sql_cache`, `partition_cache`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `time_zone`
+
+TODO
+
+Type: `String`
+
+Default: `Asia/Shanghai`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `topn_opt_limit_threshold`
+
+TODO
+
+Type: `long`
+
+Default: `1024`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `trace_nereids`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `transaction_isolation`
+
+TODO
+
+Type: `String`
+
+Default: `REPEATABLE-READ`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `transaction_read_only`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `trim_tailing_spaces_for_external_table_query`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `truncate_char_or_varchar_columns`
+
+Whether to truncate char or varchar columns according to the table's schema. The default is false.
+Because the maximum length of the char or varchar column in the schema of the table is inconsistent with the schema in the underlying parquet or orc file. At this time, if the option is turned on, it will be truncated according to the maximum length in the schema of the table.
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `tx_isolation`
+
+TODO
+
+Type: `String`
+
+Default: `REPEATABLE-READ`
+
+Read Only: `false`
+
+Global only: `false`
+
+### `tx_read_only`
+
+TODO
+
+Type: `boolean`
+
+Default: `false`
+
+Read Only: `false`
+
+Global only: `false`
- Password strength verification policy. Defaults to `NONE` or `0`, i.e. no verification. Can be set to `STRONG` or `2`. When set to `STRONG` or `2`, when setting a password via the `ALTER USER` or `SET PASSWORD` commands, the password must contain any of "uppercase letters", "lowercase letters", "numbers" and "special characters". 3 items, and the length must be greater than or equal to 8. Special characters include: `~!@#$%^&*()_+|<>,.?/:;'[]{}"`.
+### `use_fix_replica`
-* `group_concat_max_len`
+TODO
- For compatible purpose. This variable has no effect, just enable some BI tools can query or set this session variable sucessfully.
+Type: `int`
-* `rewrite_or_to_in_predicate_threshold`
+Default: `-1`
- The default threshold of rewriting OR to IN. The default value is 2, which means that when there are 2 ORs, if they can be compact, they will be rewritten as IN predicate.
+Read Only: `false`
-* `group_by_and_having_use_alias_first`
+Global only: `false`
- Specifies whether group by and having clauses use column aliases rather than searching for column name in From clause. The default value is false.
+### `use_rf_default`
-* `enable_file_cache`
+TODO
- Set wether to use block file cache, default false. This variable takes effect only if the BE config enable_file_cache=true. The cache is not used when BE config enable_file_cache=false.
+Type: `boolean`
-* `file_cache_base_path`
+Default: `false`
- Specify the storage path of the block file cache on BE, default 'random', and randomly select the storage path configured by BE.
+Read Only: `false`
-* `enable_inverted_index_query`
+Global only: `false`
- Set wether to use inverted index query, default true.
+### `use_v2_rollup`
-* `topn_opt_limit_threshold`
+TODO
- Set threshold for limit of topn query (eg. SELECT * FROM t ORDER BY k LIMIT n). If n <= threshold, topn optimizations(runtime predicate pushdown, two phase result fetch and read order by key) will enable automatically, otherwise disable. Default value is 1024.
+Type: `boolean`
-* `drop_table_if_ctas_failed`
+Default: `false`
- Controls whether create table as select deletes created tables when a insert error occurs, the default value is true.
+Read Only: `false`
-* `show_user_default_role`
+Global only: `false`
- <version since="dev"></version>
+### `validate_password_policy`
- Controls whether to show each user's implicit roles in the results of `show roles`. Default is false.
+TODO
-* `use_fix_replica`
+Type: `long`
- <version since="1.2.0"></version>
+Default: `0`
- Use a fixed replica to query. replica starts with 0 and if use_fix_replica is 0, the smallest is used, if use_fix_replica is 1, the second smallest is used, and so on. The default value is -1, indicating that the function is disabled.
+Read Only: `false`
-* `dry_run_query`
+Global only: `true`
- <version since="dev"></version>
+### `version`
- If set to true, for query requests, the actual result set will no longer be returned, but only the number of rows, while for load and insert, the data is discarded by sink node, no writing happens. The default is false.
+TODO
- This parameter can be used to avoid the time-consuming result set transmission when testing a large number of data sets, and focus on the time-consuming underlying query execution.
+Type: `String`
- ```
- mysql> select * from bigtable;
- +--------------+
- | ReturnedRows |
- +--------------+
- | 10000000 |
- +--------------+
- ```
-
-* `enable_parquet_lazy_materialization`
+Default: `5.7.99`
- Controls whether to use lazy materialization technology in parquet reader. The default value is true.
+Read Only: `true`
-* `enable_orc_lazy_materialization`
+Global only: `false`
- Controls whether to use lazy materialization technology in orc reader. The default value is true.
+### `version_comment`
-* `enable_strong_consistency_read`
+TODO
- Used to enable strong consistent reading. By default, Doris supports strong consistency within the same session, that is, changes to data within the same session are visible in real time. If you want strong consistent reads between sessions, set this variable to true.
+Type: `String`
-* `truncate_char_or_varchar_columns`
+Default: `Doris version doris-2.1.0-rc11-8be50a95ae`
- Whether to truncate char or varchar columns according to the table's schema. The default is false.
+Read Only: `true`
- Because the maximum length of the char or varchar column in the schema of the table is inconsistent with the schema in the underlying parquet or orc file. At this time, if the option is turned on, it will be truncated according to the maximum length in the schema of the table.
+Global only: `false`
-* `jdbc_clickhouse_query_final`
+### `wait_full_block_schedule_times`
- Whether to add the final keyword when using the JDBC Catalog function to query ClickHouse,default is false.
-
- It is used for the ReplacingMergeTree table engine of ClickHouse to deduplicate queries.
+TODO
-* `enable_memtable_on_sink_node`
+Type: `int`
- <version since="2.1.0">
- Whether to enable MemTable on DataSink node when loading data, default is true.
- </version>
+Default: `2`
- Build MemTable on DataSink node, and send segments to other backends through brpc streaming.
- It reduces duplicate work among replicas, and saves time in data serialization & deserialization.
+Read Only: `false`
-* `enable_unique_key_partial_update`
+Global only: `false`
- <version since="2.0.2">
- Whether to enable partial columns update semantics for native insert into statement, default is false. Please note that the default value of the session variable `enable_insert_strict`, which controls whether the insert statement operates in strict mode, is true. In other words, the insert statement is in strict mode by default, and in this mode, updating non-existing keys in partial column updates is not allowed. Therefore, when using the insert statement for partial columns update an [...]
- </version>
+### `wait_timeout`
-* `describe_extend_variant_column`
+TODO
- Controls whether to extend variant column in desc table_name. The default value is false.
+Type: `int`
-***
+Default: `28800`
-#### Supplementary instructions on statement execution timeout control
+Read Only: `false`
-* Means of control
+Global only: `false`
- Currently doris supports timeout control through `variable` and `user property` two systems. Both include `qeury_timeout` and `insert_timeout`.
+### `workload_group`
-* Priority
+TODO
- The order of priority for timeout to take effect is: `session variable` > `user property` > `global variable` > `default value`
+Type: `String`
- When a variable with a higher priority is not set, the value of the next priority is automatically adopted.
+Default: ``
-* Related semantics
+Read Only: `false`
- `query_timeout` is used to control the timeout of all statements, and `insert_timeout` is specifically used to control the timeout of the INSERT statement. When the INSERT statement is executed, the timeout time will take
-
- The maximum value of `query_timeout` and `insert_timeout`.
+Global only: `false`
- `query_timeout` and `insert_timeout` in `user property` can only be specified by the ADMIN user for the target user, and its semantics is to change the default timeout time of the specified user, and it does not have `quota` semantics.
-* Precautions
... 14194 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org