The FE node reads configuration from two files at startup: fe.conf (in the conf/ directory) and fe_custom.conf (introduced in V0.14). When the same parameter appears in both files, fe_custom.conf takes precedence. To store fe_custom.conf in a different directory, set custom_config_dir in fe.conf.
Some information in this topic is from Apache Doris. For the upstream reference, see FE Configuration.
Dynamic and static parameters
FE parameters fall into two categories:
Dynamic parameters (
IsMutable: true): changed at runtime by runningADMIN SET FRONTEND CONFIG. The change takes effect immediately but is lost when the FE node restarts. To make a dynamic change permanent, add the parameter tofe.confas well.Static parameters (
IsMutable: false): configured only infe.conf. Restart the FE node for the change to take effect.
Some dynamic parameters also have MasterOnly: true, meaning they apply only to the master FE node. When you run ADMIN SET FRONTEND CONFIG on a non-master node for such a parameter, the command is forwarded to the master automatically.
View parameters
You must have administrator privileges to run cluster administration-related commands.
Option 1 — Web UI: Open http://<fe_host>:<fe_http_port>/variable in a browser. The Configure Info section lists all active parameters.
Option 2 — MySQL client: Run the following command after the FE node starts:
ADMIN SHOW FRONTEND CONFIGThe result contains these columns:
| Column | Description |
|---|---|
Key | Parameter name |
Value | Current value |
Type | Value type (for example, Integer or String) |
IsMutable | Whether the parameter can be changed at runtime |
MasterOnly | Whether the parameter applies only to the master FE node |
Comment | Parameter description |
Configure parameters
Static configuration
Add or edit parameters in conf/fe.conf. Parameters not listed in the file use their default values. Changes take effect on the next FE node restart.
Dynamic configuration — MySQL client
Run the following command as an administrator while the FE node is running:
ADMIN SET FRONTEND CONFIG ("fe_config_name" = "fe_config_value");For help with this command:
HELP ADMIN SET CONFIG;If a parameter has MasterOnly: true, connect to any FE node — the change is forwarded to the master. If a parameter has MasterOnly: false, connect to each FE node and run the command separately so that all nodes use the updated value.
Dynamic changes are lost on restart. To persist a dynamic change, add the parameter to fe.conf and restart the FE node.
Examples
Example 1: View a static parameter
ADMIN SHOW FRONTEND CONFIGIf the result shows IsMutable: false for async_pending_load_task_pool_size, add async_pending_load_task_pool_size=20 to fe.conf and restart the FE node.
Example 2: Change a MasterOnly dynamic parameter
-- Check the parameter
ADMIN SHOW FRONTEND CONFIG
-- If IsMutable: true and MasterOnly: true, run on any FE node:
ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true");
-- Verify the change was applied on the master
SET forward_to_master = true;
ADMIN SHOW FRONTEND CONFIG;If the master FE node restarts or the master role switches to another FE node, the dynamic change is lost.
Example 3: Change a parameter valid for all FE nodes
For parameters with MasterOnly: false (for example, max_distribution_pruner_recursion_depth), connect to each FE node and run:
ADMIN SET FRONTEND CONFIG ("max_distribution_pruner_recursion_depth" = "200");Parameters
Parameters are organized into the following categories:
Partition and replication
max_dynamic_partition_num
| Field | Value |
|---|---|
| Default | 500 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of partitions that can be created in a single operation for a dynamic partition table. Set this limit to prevent a large number of partitions from being created at once. The number of partitions created is determined by the dynamic_partition.start and dynamic_partition.end values.
dynamic_partition_enable
| Field | Value |
|---|---|
| Default | true |
| IsMutable | true |
| MasterOnly | true |
Enables or disables dynamic partition scheduling globally.
dynamic_partition_check_interval_seconds
| Field | Value |
|---|---|
| Default | 600 |
| Unit | seconds (10 minutes) |
| IsMutable | true |
| MasterOnly | true |
The interval at which the FE node checks for dynamic partition updates.
min_replication_num_per_tablet
| Field | Value |
|---|---|
| Default | 1 |
The minimum number of replicas per tablet.
max_replication_num_per_tablet
| Field | Value |
|---|---|
| Default | 32767 |
The maximum number of replicas per tablet.
enable_batch_delete_by_default
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, adds the _DORIS_DELETE_SIGN_ column automatically when a Unique Key table is created.
recover_with_empty_tablet
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, Apache Doris replaces damaged tablets (or tablets whose replicas are all lost) with empty tablets so that queries can continue. Query results may be incomplete due to data loss.
Enabling this parameter causes data loss. Use it only when tablets are unrecoverable and query availability takes priority over data completeness.
max_allowed_in_element_num_of_delete
| Field | Value |
|---|---|
| Default | 1024 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of elements that the predicate of a DELETE statement can filter.
max_running_rollup_job_num_per_table
| Field | Value |
|---|---|
| Default | 1 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of rollup jobs that can run concurrently per table.
disable_cluster_feature
| Field | Value |
|---|---|
| Default | true |
| IsMutable | true |
Disables the multi-cluster feature, which is deprecated in Apache Doris V0.12 and later. When set to true, the following cluster operations are disabled:
Create and delete clusters
Add and remove BE nodes, add BE nodes to a cluster, and disable cluster-level balancing
Change the number of BE nodes in a cluster
Connect and migrate databases
Data loading
default_max_filter_ratio
| Field | Value |
|---|---|
| Default | 0 |
| IsMutable | true |
| MasterOnly | true |
The maximum percentage of rows that can be filtered during a load job. The default value of 0 means strict mode: the job fails if any row is filtered. Set this to a value between 0 and 1 to allow a certain percentage of rows to be skipped.
default_db_data_quota_bytes
| Field | Value |
|---|---|
| Default | 1 PB |
| IsMutable | true |
| MasterOnly | true |
The default data size quota for each database. To change the quota for a specific database:
-- Set the data quota (unit: KB, MB, GB, TB, or PB)
ALTER DATABASE db_name SET DATA QUOTA quota;
-- View the current database configuration
SHOW DATA;
-- For more information: HELP SHOW DATAdefault_db_replica_quota_size
| Field | Value |
|---|---|
| Default | 1073741824 (approximately 1 billion replicas) |
| IsMutable | true |
| MasterOnly | true |
The default replica count quota for each database. To change the quota:
ALTER DATABASE db_name SET REPLICA QUOTA quota;
SHOW DATA;max_running_txn_num_per_db
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of load jobs that can run concurrently in a single database. If this limit is exceeded, new jobs return the following error:
current running txns on db xxx is xx, larger than limit xxWait for running jobs to complete before retrying. Avoid increasing this value unnecessarily — high concurrency increases system load.
max_unfinished_load_job
| Field | Value |
|---|---|
| Default | 1000 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of active load jobs across all statuses: PENDING, ETL, LOADING, and QUORUM_FINISHED. New jobs cannot be submitted when this limit is reached.
async_loading_load_task_pool_size
| Field | Value |
|---|---|
| Default | 10 |
| IsMutable | true |
| MasterOnly | true |
The thread pool size for Broker Load jobs in the Loading state. This limits the maximum number of concurrent Broker Load jobs in the Loading state.
async_pending_load_task_pool_size
| Field | Value |
|---|---|
| Default | 10 |
| IsMutable | true |
| MasterOnly | true |
The thread pool size for load jobs in the Pending state. This limits Broker Load and Spark Load jobs in the Pending state. This value must be less than max_running_txn_num_per_db.
async_load_task_pool_size
| Field | Value |
|---|---|
| Default | 10 |
This parameter is deprecated. It exists only for backward compatibility and will be removed in a future version. Use async_loading_load_task_pool_size instead.desired_max_waiting_jobs
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | true |
The target maximum number of pending Routine Load V2.0 jobs. This value may be exceeded temporarily during events such as a master FE node role change.
max_bytes_per_broker_scanner
| Field | Value |
|---|---|
| Default | 3 GB (3 × 1024 × 1024 × 1024 bytes) |
| IsMutable | true |
| MasterOnly | true |
The maximum amount of data that a single broker scanner processes in a load job. In most deployments, each BE node has one broker scanner.
default_load_parallelism
| Field | Value |
|---|---|
| Default | 1 |
| IsMutable | true |
| MasterOnly | true |
The default number of parallel broker scanners for Broker Load jobs on the FE node. The effective parallelism is determined by this parameter together with max_broker_concurrency and min_bytes_per_broker_scanner. If you specify parallelism when submitting a Broker Load job, that value overrides this default.
max_broker_concurrency
| Field | Value |
|---|---|
| Default | 10 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of broker scanners that can run concurrently.
min_bytes_per_broker_scanner
| Field | Value |
|---|---|
| Default | 64 MB (67108864 bytes) |
| IsMutable | true |
| MasterOnly | true |
The minimum amount of data assigned to a single broker scanner.
load_running_job_num_limit
| Field | Value |
|---|---|
| Default | 0 (no limit) |
| IsMutable | true |
| MasterOnly | true |
The maximum number of running load jobs. The default value of 0 means no limit.
load_input_size_limit_gb
| Field | Value |
|---|---|
| Default | 0 (no limit) |
| Unit | GB |
| IsMutable | true |
| MasterOnly | true |
The maximum data size per load job. The default value of 0 means no limit.
load_straggler_wait_second
| Field | Value |
|---|---|
| Default | 300 |
| Unit | seconds (5 minutes) |
| IsMutable | true |
| MasterOnly | true |
The maximum time the FE node waits for a lagging node before marking it as failed. For example, if a load job runs on nodes A, B, and C, and A and B finish at time T1 but C has not, C is marked as failed after 300 seconds. This also sets the timeout for publishing load jobs. Database administrators can override this on a per-job basis.
load_etl_thread_num_normal_priority
| Field | Value |
|---|---|
| Default | 10 |
Concurrent threads for NORMAL-priority load jobs in the ETL state.
load_etl_thread_num_high_priority
| Field | Value |
|---|---|
| Default | 3 |
Concurrent threads for HIGH-priority load jobs in the ETL state.
load_pending_thread_num_normal_priority
| Field | Value |
|---|---|
| Default | 10 |
Concurrent threads for NORMAL-priority load jobs in the Pending state.
load_pending_thread_num_high_priority
| Field | Value |
|---|---|
| Default | 3 |
Concurrent threads for HIGH-priority load jobs in the Pending state. Small batch load jobs use HIGH priority; all other load jobs use NORMAL priority. This scheduling prevents slow jobs from blocking threads for extended periods.
load_checker_interval_second
| Field | Value |
|---|---|
| Default | 5 |
| Unit | seconds |
The interval at which the scheduler runs a load check thread.
disable_load_job
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, disables all load job submissions.
disable_hadoop_load
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, disables the feature for loading data from Hadoop. This feature is enabled by default but is not recommended for production use.
enable_spark_load
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
Enables Spark Load. Disabled by default.
enable_odbc_table
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
Enables Open Database Connectivity (ODBC) external tables. To enable at runtime:
ADMIN SET FRONTEND CONFIG ("enable_odbc_table" = "true");using_old_load_usage_pattern
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, a failed INSERT statement returns a label that you can use to check the load job status. By default, a failed INSERT statement throws an exception without a label.
broker_load_default_timeout_second
| Field | Value |
|---|---|
| Default | 14400 |
| Unit | seconds (4 hours) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for Broker Load jobs.
stream_load_default_timeout_second
| Field | Value |
|---|---|
| Default | 600 |
| Unit | seconds (10 minutes) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for Stream Load and mini load jobs.
insert_load_default_timeout_second
| Field | Value |
|---|---|
| Default | 3600 |
| Unit | seconds (1 hour) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for INSERT INTO jobs.
mini_load_default_timeout_second
| Field | Value |
|---|---|
| Default | 3600 |
| Unit | seconds (1 hour) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for mini load jobs that are not Stream Load.
spark_load_default_timeout_second
| Field | Value |
|---|---|
| Default | 86400 |
| Unit | seconds (1 day) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for Spark Load jobs.
hadoop_load_default_timeout_second
| Field | Value |
|---|---|
| Default | 259200 |
| Unit | seconds (3 days) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for Hadoop load jobs.
min_load_timeout_second
| Field | Value |
|---|---|
| Default | 1 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The minimum allowed timeout for any load job type.
max_load_timeout_second
| Field | Value |
|---|---|
| Default | 259200 |
| Unit | seconds (3 days) |
| IsMutable | true |
| MasterOnly | true |
The maximum allowed timeout for load jobs, excluding Stream Load.
max_stream_load_timeout_second
| Field | Value |
|---|---|
| Default | 259200 |
| Unit | seconds (3 days) |
| IsMutable | true |
| MasterOnly | true |
The maximum allowed timeout for Stream Load and mini load jobs.
broker_timeout_ms
| Field | Value |
|---|---|
| Default | 10000 |
| Unit | milliseconds (10 seconds) |
The default timeout for broker RPC connections.
db_used_data_quota_update_interval_secs
| Field | Value |
|---|---|
| Default | 300 |
| Unit | seconds (5 minutes) |
| IsMutable | true |
| MasterOnly | true |
The interval at which a daemon thread updates the data usage quota for each database. Load jobs check this cached value (not a real-time calculation) when verifying quota compliance.
agent_task_resend_wait_time_ms
| Field | Value |
|---|---|
| Default | 5000 |
| Unit | milliseconds (5 seconds) |
| IsMutable | true |
| MasterOnly | true |
The minimum time that must pass since an agent task was created before ReportHandler can resend it. This prevents repeated sending of PUBLISH_VERSION agent tasks. Increase this value if tasks arrive at the queue or BE nodes with noticeable latency, but be aware that increasing it also delays retry after a task failure.
disable_show_stream_load
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, disables the display and record clearing for Stream Load jobs.
max_stream_load_record_size
| Field | Value |
|---|---|
| Default | 5000 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of Stream Load job records stored in memory.
fetch_stream_load_record_interval_second
| Field | Value |
|---|---|
| Default | 120 |
| Unit | seconds (2 minutes) |
| IsMutable | true |
| MasterOnly | true |
The interval at which Stream Load job records are fetched.
max_routine_load_task_num_per_be
| Field | Value |
|---|---|
| Default | 5 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of Routine Load tasks that can run concurrently on a single BE node. This value must be less than routine_load_thread_pool_size on the BE node (default: 10).
max_routine_load_task_concurrent_num
| Field | Value |
|---|---|
| Default | 5 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of concurrent tasks per Routine Load job.
max_routine_load_job_num
| Field | Value |
|---|---|
| Default | 100 |
The maximum total number of Routine Load jobs, including those in NEED_SCHEDULED, RUNNING, and PAUSE states.
period_of_auto_resume_min
| Field | Value |
|---|---|
| Default | 5 |
| Unit | minutes |
| IsMutable | true |
| MasterOnly | true |
The interval at which a paused Routine Load job is automatically resumed.
max_tolerable_backend_down_num
| Field | Value |
|---|---|
| Default | 0 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of failed BE nodes that still allow automatic Routine Load resume. The default value of 0 means automatic resume is allowed only when all BE nodes are healthy.
label_keep_max_second
| Field | Value |
|---|---|
| Default | 259200 |
| Unit | seconds (3 days) |
| IsMutable | true |
| MasterOnly | true |
The maximum retention period for labels of deleted or canceled load jobs. After this period, labels are permanently removed and can be reused.
Reducing this value decreases FE node memory usage, because load job information is kept in memory until deleted. Under high concurrency with load job backlog, you may see a call frontend service failed error — in that case, check whether metadata writing is slow, and consider reducing this value to 12 or 6 hours.streaming_label_keep_max_second
| Field | Value |
|---|---|
| Default | 43200 |
| Unit | seconds (12 hours) |
| IsMutable | true |
| MasterOnly | true |
The maximum retention period for labels of high-frequency load jobs after they complete. This applies to INSERT INTO, Stream Load, and Routine Load jobs. Completed jobs and tasks are deleted after this period.
delete_thread_num
| Field | Value |
|---|---|
| Default | 10 |
Concurrent threads for delete operations.
max_backup_restore_job_num_per_db
| Field | Value |
|---|---|
| Default | 10 |
The maximum number of backup and restore job records stored per database.
backup_job_default_timeout_ms
| Field | Value |
|---|---|
| Default | 86400000 |
| Unit | milliseconds (1 day) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for backup jobs.
catalog_trash_expire_second
| Field | Value |
|---|---|
| Default | 86400 |
| Unit | seconds (1 day) |
| IsMutable | true |
| MasterOnly | true |
After a database, table, or partition is deleted, the data can be recovered using the RECOVER statement until this retention period expires. After the period elapses, the data is permanently deleted.
small_file_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/small_files |
The directory where small files managed by SmallFileMgr are stored.
max_small_file_size_bytes
| Field | Value |
|---|---|
| Default | 1 MB |
| IsMutable | true |
| MasterOnly | true |
The maximum size of a file stored in SmallFileMgr.
max_small_file_number
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of files stored in SmallFileMgr.
max_layout_length_per_row
| Field | Value |
|---|---|
| Default | 100000 |
| Unit | bytes (approximately 100 KB) |
| IsMutable | true |
| MasterOnly | true |
The maximum memory layout length of a single row. The maximum RowBlock size on a BE node is 100 MB (configured by max_unpacked_row_block_size in be.conf), and each RowBlock holds 1024 rows — giving approximately 100 KB per row.
For example, a row with schema k1 INTEGER, v1 DECIMAL, v2 VARCHAR(2000) has a layout length of 2020 bytes: 4 (INTEGER) + 16 (DECIMAL) + 2000 (VARCHAR). Run HELP CREATE TABLE in the MySQL client for more details on memory layout lengths.
To support wider schemas, increase max_unpacked_row_block_size in be.conf, but the performance impact is unknown.
Query and cache
cache_result_max_row_count
| Field | Value |
|---|---|
| Default | 3000 |
| IsMutable | true |
| MasterOnly | false |
The maximum number of rows that can be stored in the query result cache.
cache_last_version_interval_second
| Field | Value |
|---|---|
| Default | 900 |
| Unit | seconds (15 minutes) |
| IsMutable | true |
| MasterOnly | false |
The interval used to distinguish between offline and real-time partition updates for cache freshness decisions.
cache_enable_partition_mode
| Field | Value |
|---|---|
| Default | true |
| IsMutable | true |
| MasterOnly | false |
When set to true, allows the FE node to retrieve cached data from BE nodes. This applies to real-time updates in specific partitions.
cache_enable_sql_mode
| Field | Value |
|---|---|
| Default | true |
| IsMutable | true |
| MasterOnly | false |
When set to true, allows the FE node to serve results from the SQL result cache. This applies to offline partition updates.
max_query_retry_time
| Field | Value |
|---|---|
| Default | 1 |
| IsMutable | true |
The maximum number of times a query is retried when an RPC failure returns no results. Reduce this value to limit the avalanche effect under heavy load.
remote_fragment_exec_timeout_ms
| Field | Value |
|---|---|
| Default | 5000 |
| Unit | milliseconds (5 seconds) |
| IsMutable | true |
The timeout for asynchronously executing a remote query fragment. Under high system load, increase this value.
enable_local_replica_selection
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
When set to true, the query planner prefers replicas hosted on the same machine as the FE node. This reduces network traffic in deployments where N hosts each run one BE node and one FE node, data has N replicas, and queries are distributed evenly across FE nodes.
When local replicas are unavailable, queries fall back to non-local replicas only if enable_local_replica_selection_fallback is also set to true.
enable_local_replica_selection_fallback
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
When set to true, queries fall back to non-local replicas when local replicas are unavailable. Requires enable_local_replica_selection to also be set to true.
max_distribution_pruner_recursion_depth
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | false |
The maximum recursion depth for the hash distribution pruner. The pruner computes the cross-product of elements across distributed columns to determine which buckets to scan. For example, four distributed columns with 5, 4, 3, and 2 elements have a recursion depth of 5 × 4 × 3 × 2 = 120. Because 120 exceeds the default limit of 100, the pruner skips and scans all buckets.
Increasing this value enables pruning for more elements but consumes more CPU.
Because this parameter has MasterOnly: false, run ADMIN SET FRONTEND CONFIG on each FE node separately.
default_max_query_instances
| Field | Value |
|---|---|
| Default | -1 (no limit) |
The maximum number of query instances a single user can use simultaneously. A value of 0 or less means no limit.
rewrite_count_distinct_to_bitmap_hll
| Field | Value |
|---|---|
| Default | true |
| Type | Boolean (session variable) |
This is a session-level variable. For Aggregate model tables, it rewrites COUNT(DISTINCT c1) as follows:
If
c1is abitmaptype: rewrites toBITMAP_UNION_COUNT(c1)If
c1is a HyperLogLog (HLL) type: rewrites toHLL_UNION_AGG(c1)
Set to false to disable rewriting.
max_connection_scheduler_threads_num
| Field | Value |
|---|---|
| Default | 4096 |
The maximum number of threads in the query scheduler.
qe_max_connection
| Field | Value |
|---|---|
| Default | 1024 |
The maximum number of concurrent connections per FE node.
use_compact_thrift_rpc
| Field | Value |
|---|---|
| Default | true |
When set to true, query plan structs are sent in a compressed format, reducing their size by approximately 50% and preventing send-fragment timeout errors. In high-concurrency, small-query scenarios, concurrency may decrease by approximately 10%.
expr_depth_limit
| Field | Value |
|---|---|
| Default | 3000 |
| IsMutable | true |
The maximum depth of an expression tree. Queries with expression trees deeper than this limit may cause read lock timeouts in the database.
expr_children_limit
| Field | Value |
|---|---|
| Default | 10000 |
| IsMutable | true |
The maximum number of child nodes in an expression tree. Queries that exceed this limit may cause read lock timeouts.
disable_colocate_balance
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, disables ColocateTableBalancer from relocating or rebalancing colocate tables.
Disabling colocate balancing prevents recovery of unstable colocate tables and prevents the colocate join plan from being used during queries. Keep this setting at false unless you have a specific operational reason.
query_colocate_join_memory_limit_penalty_factor
| Field | Value |
|---|---|
| Default | 1 |
| IsMutable | true |
The memory limit ratio applied when a colocate join is executed.
colocate_group_relocate_delay_second
| Field | Value |
|---|---|
| Default | 1800 |
| Unit | seconds (30 minutes) |
| IsMutable | true |
| MasterOnly | true |
The delay before Apache Doris redistributes a colocation group after detecting a BE node failure. This prevents unnecessary redistributions when the BE node recovers within the delay period. Redistribution involves a large number of tablet migrations, so a conservative delay is preferred.
check_consistency_default_timeout_second
| Field | Value |
|---|---|
| Default | 600 |
| Unit | seconds (10 minutes) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for a tablet consistency check. Set this relative to the size of your tablets.
consistency_check_start_time
| Field | Value |
|---|---|
| Default | 23 (11 PM) |
| IsMutable | true |
| MasterOnly | true |
The hour (0–23) at which the periodic consistency check starts. If this value equals consistency_check_end_time, no consistency check runs.
consistency_check_end_time
| Field | Value |
|---|---|
| Default | 23 (11 PM) |
| IsMutable | true |
| MasterOnly | true |
The hour (0–23) at which the periodic consistency check ends. If this value equals consistency_check_start_time, no consistency check runs.
Tablet scheduling and balancing
tablet_rebalancer_type
| Field | Value |
|---|---|
| Default | BeLoad |
| MasterOnly | true |
| Valid values | BeLoad, Partition (case-insensitive) |
The rebalancing strategy. If the specified value cannot be parsed, BeLoad is used.
max_balancing_tablets
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of tablets that TabletScheduler balances concurrently. If the number of tablets pending balancing exceeds this value, the balance check is skipped.
max_scheduling_tablets
| Field | Value |
|---|---|
| Default | 2000 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of tablets that TabletScheduler schedules concurrently. If the number of tablets pending scheduling exceeds this value, the check is skipped.
disable_balance
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, disables the balance check in TabletScheduler.
balance_load_score_threshold
| Field | Value |
|---|---|
| Default | 0.1 |
| IsMutable | true |
| MasterOnly | true |
The load score threshold for classifying BE node load. A BE node with a load score more than 10% below the average is considered low-load. Otherwise, it is considered high-load. This score is used to decide rebalancing moves.
schedule_slot_num_per_path
| Field | Value |
|---|---|
| Default | 2 |
The number of tablet scheduler slots per disk path.
tablet_repair_delay_factor_second
| Field | Value |
|---|---|
| Default | 60 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The base delay factor for tablet repair. Repair timing depends on tablet priority:
| Priority | Repair delay |
|---|---|
VERY_HIGH | Immediate |
HIGH | 1 × tablet_repair_delay_factor_second |
NORMAL | 2 × tablet_repair_delay_factor_second |
LOW | 3 × tablet_repair_delay_factor_second |
disable_tablet_scheduler
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, disables the tablet scheduler entirely, stopping both replica repair and balancing.
enable_force_drop_redundant_replica
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, redundant replicas are dropped immediately during replica scheduling. This accelerates balancing and repair but may cause load jobs that are writing to those replicas to fail. Enable this temporarily when a large number of replicas are pending balancing or repair.
repair_slow_replica
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, replicas with slow compaction are automatically detected and migrated to another node. Detection triggers when the minimum version count across replicas falls below min_version_count_indicate_replica_compaction_too_slow and the ratio of minimum to maximum version count exceeds valid_version_count_delta_ratio_between_replicas.
min_version_count_indicate_replica_compaction_too_slow
| Field | Value |
|---|---|
| Default | 200 |
| IsMutable | true |
| MasterOnly | false |
The version count threshold below which a replica is considered to have slow compaction.
valid_version_count_delta_ratio_between_replicas
| Field | Value |
|---|---|
| Default | 0.5 |
| IsMutable | true |
| MasterOnly | true |
The ratio threshold between the minimum and maximum version counts across replicas. Used together with repair_slow_replica to identify replicas with the slowest compaction.
min_bytes_indicate_replica_too_large
| Field | Value |
|---|---|
| Default | 2 GB (2 × 1024 × 1024 × 1024 bytes) |
| IsMutable | true |
| MasterOnly | true |
The data size threshold above which a replica is considered oversized.
skip_compaction_slower_replica
| Field | Value |
|---|---|
| Default | true |
| IsMutable | true |
| MasterOnly | false |
When set to true, replicas with slow compaction are skipped during query planning.
allow_replica_on_same_host
| Field | Value |
|---|---|
| Default | false |
| IsMutable | false |
| MasterOnly | false |
When set to true, multiple replicas of the same tablet can reside on the same host. Use this only in test environments where multiple BE nodes run on one host to verify multi-replica behavior.
drop_backend_after_decommission
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, a BE node is removed from the cluster after it is fully decommissioned. When set to false, the BE node remains in DECOMMISSION state after its data is migrated.
Setting this to false is useful for manual disk balancing. In clusters where initial disks contain much more data than disks added later (because Apache Doris cannot automatically balance data between disks on a single BE node), follow this procedure for each BE node:
Set
drop_backend_after_decommissiontofalse.Decommission the BE node to migrate its data to other BE nodes.
After decommission completes, cancel the decommission status so data migrates back. At this point, data is distributed evenly across all disks.
Repeat for all BE nodes.
replica_delay_recovery_second
| Field | Value |
|---|---|
| Default | 0 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The minimum interval before the FE node uses a clone job to recover a failed replica.
tablet_stat_update_interval_second
| Field | Value |
|---|---|
| Default | 300 |
| Unit | seconds (5 minutes) |
The interval at which all FE nodes collect tablet statistics from BE nodes.
tablet_delete_timeout_second
| Field | Value |
|---|---|
| Default | 2 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The timeout for deleting a tablet.
tablet_create_timeout_second
| Field | Value |
|---|---|
| Default | 1 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The timeout for creating a single replica.
max_create_table_timeout_second
| Field | Value |
|---|---|
| Default | 60 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The maximum timeout for a CREATE TABLE operation.
alter_table_timeout_second
| Field | Value |
|---|---|
| Default | 86400 |
| Unit | seconds (1 day) |
| IsMutable | true |
| MasterOnly | true |
The maximum timeout for ALTER TABLE operations. Set this relative to the data size of your tables.
max_backend_down_time_second
| Field | Value |
|---|---|
| Default | 3600 |
| Unit | seconds (1 hour) |
| IsMutable | true |
| MasterOnly | true |
The maximum time a BE node can be down before the BACKEND_DOWN event is triggered.
es_state_sync_interval_second
| Field | Value |
|---|---|
| Default | 10 |
| Unit | seconds |
The interval at which the FE node queries Elasticsearch to retrieve shard information for an index.
Clone jobs
min_clone_task_timeout_sec
| Field | Value |
|---|---|
| Default | 180 |
| Unit | seconds (3 minutes) |
| IsMutable | true |
| MasterOnly | true |
The minimum timeout for a clone job.
max_clone_task_timeout_sec
| Field | Value |
|---|---|
| Default | 7200 |
| Unit | seconds (2 hours) |
| IsMutable | true |
| MasterOnly | true |
The maximum timeout for a clone job. In most cases, the actual timeout is estimated from data size at a minimum transfer speed of 5 MB/s. Adjust these limits manually if clone jobs time out unexpectedly.
clone_high_priority_delay_second
| Field | Value |
|---|---|
| Default | 0 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The delay before a high-priority clone job runs after it is created.
clone_normal_priority_delay_second
| Field | Value |
|---|---|
| Default | 300 |
| Unit | seconds (5 minutes) |
| IsMutable | true |
| MasterOnly | true |
The delay before a normal-priority clone job runs. This parameter is ignored if its value is less than clone_checker_interval_second.
clone_low_priority_delay_second
| Field | Value |
|---|---|
| Default | 600 |
| Unit | seconds (10 minutes) |
| IsMutable | true |
| MasterOnly | true |
The delay before a low-priority clone job runs. This prevents a large number of clone jobs from starting immediately when a host is briefly unavailable. This parameter is ignored if its value is less than clone_checker_interval_second.
clone_max_job_num
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of concurrent low-priority clone jobs. High-priority clone jobs have no concurrency limit.
clone_job_timeout_second
| Field | Value |
|---|---|
| Default | 7200 |
| Unit | seconds (2 hours) |
| IsMutable | true |
| MasterOnly | true |
The timeout for a clone job. Set this relative to the size of your replicas — larger replicas take longer to clone.
clone_checker_interval_second
| Field | Value |
|---|---|
| Default | 300 |
| Unit | seconds (5 minutes) |
The interval at which the clone checker runs.
clone_distribution_balance_threshold
| Field | Value |
|---|---|
| Default | 0.2 |
| IsMutable | true |
| MasterOnly | true |
The threshold for balancing replica counts across BE nodes.
clone_capacity_balance_threshold
| Field | Value |
|---|---|
| Default | 0.2 |
| IsMutable | true |
| MasterOnly | true |
The threshold for balancing data capacity across BE nodes. Balancing uses these bounds:
Upper limit = Average used capacity (AUC) × (1 +
clone_capacity_balance_threshold)Lower limit = AUC × (1 −
clone_capacity_balance_threshold)
The clone checker moves replicas from high-capacity BE nodes to low-capacity BE nodes.
capacity_used_percent_high_water
| Field | Value |
|---|---|
| Default | 0.75 (75%) |
| IsMutable | true |
| MasterOnly | true |
The disk usage threshold above which a BE node is considered high-load. Used when calculating the load score for BE nodes.
Storage capacity
storage_flood_stage_usage_percent
| Field | Value |
|---|---|
| Default | 95 (95%) |
| IsMutable | true |
| MasterOnly | true |
Works together with storage_flood_stage_left_capacity_bytes. When a disk path reaches both thresholds simultaneously, load jobs and restore jobs are rejected for that path.
storage_flood_stage_left_capacity_bytes
| Field | Value |
|---|---|
| Default | 1 GB (1 × 1024 × 1024 × 1024 bytes) |
| IsMutable | true |
| MasterOnly | true |
Works together with storage_flood_stage_usage_percent. See the description above.
storage_high_watermark_usage_percent
| Field | Value |
|---|---|
| Default | 85 (85%) |
| IsMutable | true |
| MasterOnly | true |
Works together with storage_min_left_capacity_bytes. When a disk path exceeds both thresholds, it cannot be used as the destination for new replica writes. To protect data integrity, these thresholds can be exceeded temporarily during tablet restore operations.
storage_min_left_capacity_bytes
| Field | Value |
|---|---|
| Default | 2 GB (2 × 1024 × 1024 × 1024 bytes) |
| IsMutable | true |
| MasterOnly | true |
Works together with storage_high_watermark_usage_percent. See the description above.
storage_cooldown_second
| Field | Value |
|---|---|
| Default | 2592000 |
| Unit | seconds (30 days) |
When a table or partition is created with SSD as the storage medium, tablets remain on SSD for this duration before automatically moving to HDD. Override this in the CREATE TABLE statement.
default_storage_medium
| Field | Value |
|---|---|
| Default | HDD |
| Valid values | HDD, SSD |
The default storage medium for new tables and partitions when no storage medium is specified.
disable_storage_medium_check
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, ReportHandler skips storage medium checks and disables the storage cooldown feature. Set this when you have no requirements for storage medium differentiation.
Metadata and BDBJE
edit_log_type
| Field | Value |
|---|---|
| Default | BDB |
| Valid values | BDB, LOCAL (deprecated) |
The type of edit log. Use BDB to write logs to BDBJE. The LOCAL type is deprecated.
edit_log_port
| Field | Value |
|---|---|
| Default | 9010 |
The port used by BDBJE.
edit_log_roll_num
| Field | Value |
|---|---|
| Default | 50000 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of log entries written before the master FE node creates a new log file.
meta_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/doris-meta |
The directory where Apache Doris metadata is stored. For best performance and durability, store metadata on an SSD (for high write throughput) with RAID (for redundancy).
meta_delay_toleration_second
| Field | Value |
|---|---|
| Default | 300 |
| Unit | seconds (5 minutes) |
The maximum tolerable metadata replication lag. If follower or observer FE nodes lag beyond this threshold, they stop serving requests.
meta_publish_timeout_ms
| Field | Value |
|---|---|
| Default | 1000 |
| Unit | milliseconds (1 second) |
The timeout for publishing metadata.
ignore_meta_check
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
When set to true, metadata lag between the master and follower or observer FE nodes is ignored, even if it exceeds meta_delay_toleration_second. Follower and observer FE nodes continue to serve read requests. Use this setting when the master FE node is stopped for an extended period but read access through follower or observer FE nodes is still needed.
metadata_failure_recovery
| Field | Value |
|---|---|
| Default | false |
When set to true, the FE node resets the BDBJE replication groups and starts as the master. Use this only if all follower FE nodes fail to start: copy the metadata to another node and restart with this parameter set to true.
This is a recovery-of-last-resort operation. It resets BDBJE replication state and should only be used when the cluster cannot recover through normal means.
force_do_metadata_checkpoint
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, the checkpoint thread creates a metadata checkpoint regardless of JVM memory usage. By default, checkpointing is skipped when JVM memory usage is high to prevent out-of-memory (OOM) errors.
metadata_checkpoint_memory_threshold
| Field | Value |
|---|---|
| Default | 60 (60%) |
| IsMutable | true |
| MasterOnly | true |
The JVM heap usage percentage above which the checkpoint thread pauses to prevent an OOM error.
bdbje_replica_ack_timeout_second
| Field | Value |
|---|---|
| Default | 10 |
| Unit | seconds |
The maximum time the master FE node waits for acknowledgment from follower FE nodes when writing metadata. Increase this value if large metadata writes cause acknowledgment timeouts and master exits.
bdbje_lock_timeout_second
| Field | Value |
|---|---|
| Default | 1 |
| Unit | seconds |
The lock timeout for BDBJE operations. If LockTimeoutException appears frequently in the FE WARN log, increase this value.
bdbje_heartbeat_timeout_second
| Field | Value |
|---|---|
| Default | 30 |
| Unit | seconds |
The heartbeat timeout between the master and follower FE nodes in BDBJE. This matches the BDBJE default. Increase it to tolerate temporary network interruptions.
max_bdbje_clock_delta_ms
| Field | Value |
|---|---|
| Default | 5000 |
| Unit | milliseconds (5 seconds) |
The maximum allowed clock offset between the master FE node and follower or observer FE nodes. If the offset exceeds this value when a follower or observer connects, the connection is rejected.
replica_ack_policy
| Field | Value |
|---|---|
| Default | SIMPLE_MAJORITY |
| Valid values | ALL, NONE, SIMPLE_MAJORITY |
The replica acknowledgment policy in BDBJE. For details, see Enum Durability.ReplicaAckPolicy.
replica_sync_policy
| Field | Value |
|---|---|
| Default | SYNC |
| Valid values | SYNC, NO_SYNC, WRITE_NO_SYNC |
The synchronization policy for follower FE nodes in BDBJE.
master_sync_policy
| Field | Value |
|---|---|
| Default | SYNC |
| Valid values | SYNC, NO_SYNC, WRITE_NO_SYNC |
The synchronization policy for the master FE node in BDBJE.
With one follower FE node: use
SYNC.With more than three follower FE nodes: set both
master_sync_policyandreplica_sync_policytoWRITE_NO_SYNC.
For details, see Enum Durability.SyncPolicy.
txn_rollback_limit
| Field | Value |
|---|---|
| Default | 100 |
The maximum number of transactions that BDBJE can roll back.
catalog_try_lock_timeout_ms
| Field | Value |
|---|---|
| Default | 5000 |
| Unit | milliseconds (5 seconds) |
| IsMutable | true |
The timeout for the tryLock method when acquiring the metadata lock. Do not change this except in testing scenarios.
history_job_keep_max_second
| Field | Value |
|---|---|
| Default | 604800 |
| Unit | seconds (7 days) |
| IsMutable | true |
| MasterOnly | true |
The maximum retention period for historical jobs such as schema changes and rollup jobs.
label_clean_interval_second
| Field | Value |
|---|---|
| Default | 14400 |
| Unit | seconds (4 hours) |
The interval at which the label cleaner removes expired load job labels.
delete_info_keep_max_second
| Field | Value |
|---|---|
| Default | 259200 |
| Unit | seconds (3 days) |
| IsMutable | true |
| MasterOnly | false |
The maximum retention period for delete operation metadata. Reducing this value decreases FE memory usage and image file size.
transaction_clean_interval_second
| Field | Value |
|---|---|
| Default | 30 |
| Unit | seconds |
The interval at which visible or aborted transactions are cleared. Set this as short as practical to clear transactions promptly.
publish_version_interval_ms
| Field | Value |
|---|---|
| Default | 10 |
| Unit | milliseconds |
The minimum interval between two version publish operations.
publish_version_timeout_second
| Field | Value |
|---|---|
| Default | 30 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The maximum timeout for publishing all versions of a transaction.
Server and networking
http_port
| Field | Value |
|---|---|
| Default | 8030 |
The HTTP server port. All FE nodes must use the same HTTP port.
rpc_port
| Field | Value |
|---|---|
| Default | 9020 |
The Thrift server port on the FE node.
query_port
| Field | Value |
|---|---|
| Default | 9030 |
The MySQL protocol port for connecting to the FE node.
http_backlog_num
| Field | Value |
|---|---|
| Default | 1024 |
The HTTP server backlog queue size. Increasing this value also requires increasing /proc/sys/net/core/somaxconn on Linux.
http_max_line_length
| Field | Value |
|---|---|
| Default | 4096 |
| Unit | bits |
The maximum URL length in an HTTP request.
http_max_header_size
| Field | Value |
|---|---|
| Default | 8192 |
| Unit | bits |
The maximum header length in an HTTP request.
http_max_chunk_size
| Field | Value |
|---|---|
| Default | 8192 |
The maximum HTTP chunk size.
mysql_nio_backlog_num
| Field | Value |
|---|---|
| Default | 1024 |
The MySQL server backlog queue size. Increasing this value also requires increasing /proc/sys/net/core/somaxconn on Linux.
thrift_backlog_num
| Field | Value |
|---|---|
| Default | 1024 |
The Thrift server backlog queue size. Increasing this value requires it to be greater than the value in /proc/sys/net/core/somaxconn on Linux.
thrift_client_timeout_ms
| Field | Value |
|---|---|
| Default | 0 (no timeout) |
| Unit | milliseconds |
The timeout for Thrift server connections. The default value of 0 means connections never time out.
thrift_server_type
The service model used by the Thrift server. The value is case-insensitive.
| Value | Model | Description |
|---|---|---|
SIMPLE | TSimpleServer | Single-threaded; for testing only. |
THREADED | TThreadedSelectorServer | NIO master-slave Reactor model; handles high concurrency efficiently. |
THREAD_POOL | TThreadPoolServer | BIO thread-pool model; use when concurrent connection count is predictable. Default. |
thrift_server_max_worker_threads
| Field | Value |
|---|---|
| Default | 4096 |
The maximum number of worker threads for the Thrift server.
mysql_service_io_threads_num
| Field | Value |
|---|---|
| Default | 4 |
The maximum number of threads the MySQL server uses for I/O event processing.
mysql_service_nio_enabled
| Field | Value |
|---|---|
| Default | true |
Enables asynchronous I/O for the MySQL server.
max_mysql_service_task_threads_num
| Field | Value |
|---|---|
| Default | 4096 |
The maximum number of threads the MySQL server uses to process tasks.
jetty_server_acceptors
| Field | Value |
|---|---|
| Default | 2 |
The number of Jetty acceptor threads, which accept new connections and hand them to selector threads.
jetty_server_selectors
| Field | Value |
|---|---|
| Default | 4 |
The number of Jetty selector threads, which decompress HTTP requests using NIO. A small number of selector threads can handle many sockets. For most deployments, 2–4 selector threads are sufficient.
jetty_server_workers
| Field | Value |
|---|---|
| Default | 0 |
The number of Jetty worker threads, which process HTTP requests using BIO. The appropriate count depends on your application's queries per second (QPS) and the proportion of I/O-bound operations. Higher QPS and more I/O-bound operations require more worker threads. Set this based on your workload.
jetty_server_max_http_post_size
| Field | Value |
|---|---|
| Default | 100 MB (100 × 1024 × 1024 bytes) |
The maximum size of files uploaded via PUT or POST requests.
jetty_server_max_http_header_size
| Field | Value |
|---|---|
| Default | 10240 (10 KB) |
The maximum HTTP request header size.
enable_http_server_v2
| Field | Value |
|---|---|
| Default | false in versions earlier than V0.14.0; true in V0.14.0 and later |
Enables HTTP Server 2.0, which is built on Spring Boot and uses a frontend-backend separated architecture. The new frontend UI requires HTTP Server 2.0 to be enabled.
max_agent_task_threads_num
| Field | Value |
|---|---|
| Default | 4096 |
| MasterOnly | true |
The maximum number of threads in the agent task thread pool.
heartbeat_mgr_threads_num
| Field | Value |
|---|---|
| Default | 8 |
| MasterOnly | true |
The number of threads Heartbeat Manager uses to run heartbeat tasks.
heartbeat_mgr_blocking_queue_size
| Field | Value |
|---|---|
| Default | 1024 |
| MasterOnly | true |
The size of the blocking queue used by Heartbeat Manager to store heartbeat tasks.
backend_rpc_timeout_ms
| Field | Value |
|---|---|
| Default | 60000 |
| Unit | milliseconds (1 minute) |
| IsMutable | false |
| MasterOnly | true |
The timeout for the FE node to send an RPC request to a BE node's backend service.
priority_networks
A network selection policy for machines with multiple IP addresses. Specify one or more CIDR blocks separated by semicolons (;) — for example, 10.10.10.0/24. The FE node uses the IP address that matches a CIDR block. If no address matches, one is selected at random.
proxy_auth_magic_prefix
| Field | Value |
|---|---|
| Default | x@8 |
The magic prefix used for proxy authentication.
proxy_auth_enable
| Field | Value |
|---|---|
| Default | false |
Enables proxy authentication.
grpc_max_message_size_bytes
| Field | Value |
|---|---|
| Default | 1 GB |
The maximum gRPC message size. Increase this if query result sets are large.
enable_auth_check
| Field | Value |
|---|---|
| Default | true |
Enables the authentication check feature. Set to false only to diagnose Doris permission system issues.
enable_bdbje_debug_mode
| Field | Value |
|---|---|
| Default | false |
When set to true, the FE node runs in BDBJE debug mode. Navigate to System > bdbje in the web UI to view BDBJE protocol information.
enable_access_file_without_broker
| Field | Value |
|---|---|
| Default | false |
| IsMutable | true |
| MasterOnly | true |
When set to true, the FE node accesses Baidu Object Storage (BOS) or other cloud storage services directly without going through a broker proxy.
enable_outfile_to_local
| Field | Value |
|---|---|
| Default | false |
When set to true, allows the OUTFILE clause to export query results to the local disk.
enable_metric_calculator
| Field | Value |
|---|---|
| Default | true |
When set to true, a daemon thread collects system metrics at a fixed interval.
cluster_id
| Field | Value |
|---|---|
| Default | -1 (auto-generated) |
The ID of the Apache Doris cluster that this FE node belongs to. FE nodes and BE nodes with the same cluster ID form one cluster. The cluster ID is a random integer generated when the master FE node starts for the first time. Set this explicitly to assign a fixed ID.
cluster_name
| Field | Value |
|---|---|
| Default | Apache doris |
The name of the Apache Doris cluster, displayed as the page title in the web UI.
auth_token
The authentication token used for identity verification within the Apache Doris cluster.
with_k8s_certs
| Field | Value |
|---|---|
| Default | false |
When set to true, prepares a certificate for deploying Apache Doris on Kubernetes.
enable_deploy_manager
| Field | Value |
|---|---|
| Default | disable |
Specifies the third-party deployment manager. Set this when Apache Doris is deployed and managed by a deployment manager.
| Value | Description |
|---|---|
disable | No deployment manager |
k8s | Kubernetes |
ambari | Apache Ambari |
local | Local files (for testing or Boxer2 BCC) |
report_queue_size
| Field | Value |
|---|---|
| Default | 100 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of report tasks pending in the FE node's report queue. Excessive pending tasks can cause OOM errors. Each BE node sends a tablet report every minute, so there is no need to receive reports without a limit. Keep this at the default value.
check_java_version
| Field | Value |
|---|---|
| Default | true |
When set to true, Apache Doris checks Java version compatibility at startup. If the Java version is incompatible, an error is returned and startup stops.
dpp_hadoop_client_path
| Field | Value |
|---|---|
| Default | /lib/hadoop-client/hadoop/bin/hadoop |
The path to the Hadoop client used for Data Processing Platform (DPP) operations.
dpp_bytes_per_reduce
| Field | Value |
|---|---|
| Default | 100 MB (100 × 1024 × 1024 bytes) |
The amount of data processed per reduce task in DPP jobs.
dpp_default_cluster
| Field | Value |
|---|---|
| Default | palo-dpp |
The default DPP cluster name. This is a historical name from the pre-Apache Doris era.
dpp_default_config_str
| Field | Value |
|---|---|
| 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 default Hadoop configuration string for DPP jobs.
dpp_config_str
| Field | Value |
|---|---|
| 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' } } |
The DPP cluster configuration string.
Logging
sys_log_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/log |
The directory for FE system log files. Two log files are generated:
fe.log: all FE node logsfe.warn.log: warning and error logs only
sys_log_level
| Field | Value |
|---|---|
| Default | INFO |
| Valid values | INFO, WARNING, ERROR, FATAL |
The minimum severity level for system log output.
sys_log_roll_num
| Field | Value |
|---|---|
| Default | 10 |
The maximum number of system log files to retain within each roll interval (as set by sys_log_roll_interval). The default retains up to 10 files per day.
sys_log_roll_interval
| Field | Value |
|---|---|
| Default | DAY |
The log file rotation interval. Valid values:
| Value | Log file prefix format |
|---|---|
DAY | yyyyMMdd |
HOUR | yyyyMMddHH |
sys_log_delete_age
| Field | Value |
|---|---|
| Default | 7d |
The age after which system log files are deleted. Supported formats: 7d (days), 10h (hours), 60m (minutes), 120s (seconds).
sys_log_verbose_modules
The modules for which verbose (DEBUG-level) logs are generated. For example, setting this to org.apache.doris.catalog generates debug logs only for the catalog module.
log_roll_size_mb
| Field | Value |
|---|---|
| Default | 1024 |
| Unit | MB |
The maximum size of a system log file or audit log file before it rolls over.
audit_log_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/log |
The directory for FE audit log files. The audit log file fe.audit.log records all requests, including user, host, execution time, and status.
audit_log_roll_num
| Field | Value |
|---|---|
| Default | 90 |
The maximum number of audit log files to retain within each roll interval.
audit_log_roll_interval
| Field | Value |
|---|---|
| Default | DAY |
The audit log file rotation interval. Valid values:
| Value | Log file prefix format |
|---|---|
DAY | yyyyMMdd |
HOUR | yyyyMMddHH |
audit_log_delete_age
| Field | Value |
|---|---|
| Default | 30d |
The age after which audit log files are deleted. Supported formats: 7d (days), 10h (hours), 60m (minutes), 120s (seconds).
audit_log_modules
| Field | Value |
|---|---|
| Default | slow_query, query, load, stream_load |
The modules for which audit logs are generated.
qe_slow_log_ms
| Field | Value |
|---|---|
| Default | 5000 |
| Unit | milliseconds (5 seconds) |
The response time threshold above which a query is recorded as a slow query in the audit log.
Export
export_tablet_num_per_task
| Field | Value |
|---|---|
| Default | 5 |
| IsMutable | true |
| MasterOnly | true |
The number of tablets per execution plan in an export job.
export_task_default_timeout_second
| Field | Value |
|---|---|
| Default | 7200 |
| Unit | seconds (2 hours) |
| IsMutable | true |
| MasterOnly | true |
The default timeout for export jobs.
export_running_job_num_limit
| Field | Value |
|---|---|
| Default | 5 |
| IsMutable | true |
| MasterOnly | true |
The maximum number of export jobs that can run concurrently. Set to 0 to remove the limit.
export_checker_interval_second
| Field | Value |
|---|---|
| Default | 5 |
| Unit | seconds |
The interval at which the export checker runs.
Data synchronization
sync_commit_interval_second
| Field | Value |
|---|---|
| Default | 10 |
| Unit | seconds |
| IsMutable | true |
| MasterOnly | true |
The maximum interval between transaction commits in a data synchronization channel. If data in the channel is not committed within this interval, the consumer notifies the channel to commit.
min_bytes_sync_commit
| Field | Value |
|---|---|
| Default | 15 MB (15 × 1024 × 1024 bytes) |
| IsMutable | true |
| MasterOnly | true |
The minimum data size required to trigger a transaction commit. If the FE node receives less data than this threshold, it waits for the next sync_commit_interval_second cycle.
Set this value lower than the product of canal.instance.memory.buffer.size and canal.instance.memory.buffer.memunit in Canal (default: 16 MB). If this value exceeds that product, the FE node may attempt to read more data than the Canal store queue can hold, causing the queue to block until timeout.
max_bytes_sync_commit
| Field | Value |
|---|---|
| Default | 10 |
| IsMutable | false |
| MasterOnly | false |
The maximum number of threads in the data synchronization thread pool. There is one thread pool per FE node, used to dispatch sync tasks from the FE node to BE nodes.
Plugins and miscellaneous
plugin_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME/plugins |
The directory where plugins are installed.
plugin_enable
| Field | Value |
|---|---|
| Default | true |
| IsMutable | true |
| MasterOnly | true |
Enables or disables the plugin system.
tmp_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/temp_dir |
The directory for temporary files, such as files generated during backup and restore operations. Files in this directory are cleared after each operation completes.
custom_config_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/conf |
The directory where fe_custom.conf is stored. In some deployments, the conf/ directory is overwritten during system upgrades, which clears dynamically persisted parameters. Set this to a directory outside conf/ to protect those parameters from being overwritten.
small_file_dir
See Data loading.
spark_dpp_version
| Field | Value |
|---|---|
| Default | 1.0.0 |
The Apache Spark version used for DPP jobs.
spark_home_default_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/lib/spark2x |
The directory containing the Spark client and Spark configuration files.
spark_launcher_log_dir
| Field | Value |
|---|---|
| Default | $sys_log_dir/spark_launcher_log |
The directory for Spark launcher log files.
spark_resource_path
The directory containing Spark dependency packages.
yarn_config_dir
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/lib/yarn-config |
The directory containing YARN command configuration files. Verify that the required configuration files exist before running YARN commands; create them if they do not.
yarn_client_path
| Field | Value |
|---|---|
| Default | $DORIS_HOME_DIR/lib/yarn-client/hadoop/bin/yarn |
The path to the YARN client binary.
check_consistency_default_timeout_second
See Query and cache.
enable_deploy_manager
max_layout_length_per_row
See Data loading.