FE Configuration
FE parameters are classified into dynamic parameters and static parameters.
-
Dynamic parameters can be configured and adjusted by running SQL commands, which is very convenient. But the configurations become invalid if you restart your FE. Therefore, we recommend that you also modify the configuration items in the fe.conf file to prevent the loss of modifications.
-
Static parameters can only be configured and adjusted in the FE configuration file fe.conf. After you modify this file, you must restart your FE for the changes to take effect.
Whether a parameter is a dynamic parameter is indicated by the IsMutable column in the output of ADMIN SHOW CONFIG. TRUE indicates a dynamic parameter.
Note that both dynamic and static FE parameters can be configured in the fe.conf file.
View FE configuration itemsβ
After your FE is started, you can run the ADMIN SHOW FRONTEND CONFIG command on your MySQL client to check the parameter configurations. If you want to query the configuration of a specific parameter, run the following command:
ADMIN SHOW FRONTEND CONFIG [LIKE "pattern"];
For detailed description of the returned fields, see ADMIN SHOW CONFIG.
You must have administrator privileges to run cluster administration-related commands.
Configure FE parametersβ
Configure FE dynamic parametersβ
You can configure or modify the settings of FE dynamic parameters using ADMIN SET FRONTEND CONFIG.
ADMIN SET FRONTEND CONFIG ("key" = "value");
The configuration changes made with ADMIN SET FRONTEND will be restored to the default values in the fe.conf file after the FE restarts. Therefore, we recommend that you also modify the configuration items in fe.conf if you want the changes to be permanent.
Configure FE static parametersβ
Static parameters of an FE are set by changing them in the configuration file fe.conf and restarting the FE to allow the changes to take effect.
Understand FE parametersβ
Loggingβ
log_roll_size_mbβ
- Default: 1024
- Type: Int
- Unit: MB
- Is mutable: No
- Description: The maximum size of a system log file or an audit log file.
- Introduced in: -
sys_log_dirβ
- Default: StarRocksFE.STARROCKS_HOME_DIR + "/log"
- Type: String
- Unit: -
- Is mutable: No
- Description: The directory that stores system log files.
- Introduced in: -
sys_log_levelβ
- Default: INFO
- Type: String
- Unit: -
- Is mutable: No
- Description: The severity levels into which system log entries are classified. Valid values:
INFO,WARN,ERROR, andFATAL. - Introduced in: -
sys_log_roll_numβ
- Default: 10
- Type: Int
- Unit: -
- Is mutable: No
- Description: The maximum number of system log files that can be retained within each retention period specified by the
sys_log_roll_intervalparameter. - Introduced in: -
sys_log_verbose_modulesβ
- Default: Empty string
- Type: String[]
- Unit: -
- Is mutable: No
- Description: The modules for which StarRocks generates system logs. If this parameter is set to
org.apache.starrocks.catalog, StarRocks generates system logs only for the catalog module. Separate the module names with a comma (,) and a space. - Introduced in: -
sys_log_roll_intervalβ
- Default: DAY
- Type: String
- Unit: -
- Is mutable: No
- Description: The time interval at which StarRocks rotates system log entries. Valid values:
DAYandHOUR.- If this parameter is set to
DAY, a suffix in theyyyyMMddformat is added to the names of system log files. - If this parameter is set to
HOUR, a suffix in theyyyyMMddHHformat is added to the names of system log files.
- If this parameter is set to
- Introduced in: -
sys_log_delete_ageβ
- Default: 7d
- Type: String
- Unit: -
- Is mutable: No
- Description: The retention period of system log files. The default value
7dspecifies that each system log file can be retained for 7 days. StarRocks checks each system log file and deletes those that were generated 7 days ago. - Introduced in: -
audit_log_dirβ
- Default: StarRocksFE.STARROCKS_HOME_DIR + "/log"
- Type: String
- Unit: -
- Is mutable: No
- Description: The directory that stores audit log files.
- Introduced in: -
audit_log_roll_numβ
- Default: 90
- Type: Int
- Unit: -
- Is mutable: No
- Description: The maximum number of audit log files that can be retained within each retention period specified by the
audit_log_roll_intervalparameter. - Introduced in: -
audit_log_modulesβ
- Default: slow_query, query
- Type: String[]
- Unit: -
- Is mutable: No
- Description: The modules for which StarRocks generates audit log entries. By default, StarRocks generates audit logs for the
slow_querymodule and thequerymodule. Theconnectionmodule is supported from v3.0. Separate the module names with a comma (,) and a space. - Introduced in: -
qe_slow_log_msβ
- Default: 5000
- Type: Long
- Unit: Milliseconds
- Is mutable: Yes
- Description: The threshold used to determine whether a query is a slow query. If the response time of a query exceeds this threshold, it is recorded as a slow query in fe.audit.log.
- Introduced in: -
audit_log_roll_intervalβ
- Default: DAY
- Type: String
- Unit: -
- Is mutable: No
- Description: The time interval at which StarRocks rotates audit log entries. Valid values:
DAYandHOUR.- If this parameter is set to
DAY, a suffix in theyyyyMMddformat is added to the names of audit log files. - If this parameter is set to
HOUR, a suffix in theyyyyMMddHHformat is added to the names of audit log files.
- If this parameter is set to
- Introduced in: -
audit_log_delete_ageβ
- Default: 30d
- Type: String
- Unit: -
- Is mutable: No
- Description: The retention period of audit log files. The default value
30dspecifies that each audit log file can be retained for 30 days. StarRocks checks each audit log file and deletes those that were generated 30 days ago. - Introduced in: -
dump_log_dirβ
- Default: StarRocksFE.STARROCKS_HOME_DIR + "/log"
- Type: String
- Unit: -
- Is mutable: No
- Description: The directory that stores dump log files.
- Introduced in: -
dump_log_roll_numβ
- Default: 10
- Type: Int
- Unit: -
- Is mutable: No
- Description: The maximum number of dump log files that can be retained within each retention period specified by the
dump_log_roll_intervalparameter. - Introduced in: -
dump_log_modulesβ
- Default: query
- Type: String[]
- Unit: -
- Is mutable: No
- Description: The modules for which StarRocks generates dump log entries. By default, StarRocks generates dump logs for the query module. Separate the module names with a comma (,) and a space.
- Introduced in: -
dump_log_roll_intervalβ
- Default: DAY
- Type: String
- Unit: -
- Is mutable: No
- Description: The time interval at which StarRocks rotates dump log entries. Valid values:
DAYandHOUR.- If this parameter is set to
DAY, a suffix in theyyyyMMddformat is added to the names of dump log files. - If this parameter is set to
HOUR, a suffix in theyyyyMMddHHformat is added to the names of dump log files.
- If this parameter is set to
- Introduced in: -
dump_log_delete_ageβ
- Default: 7d
- Type: String
- Unit: -
- Is mutable: No
- Description: The retention period of dump log files. The default value
7dspecifies that each dump log file can be retained for 7 days. StarRocks checks each dump log file and deletes those that were generated 7 days ago. - Introduced in: -
log_cleaner_disk_util_based_enableβ
- Default: false
- Type: Boolean
- Unit: -
- Is mutable: Yes
- Description: Enable automatic log cleaning based on disk usage. When enabled, logs will be cleaned when disk usage exceeds the threshold. The log cleaner runs as a background daemon on the FE node and helps prevent disk space exhaustion from log file accumulation.
- Introduced in: -
log_cleaner_disk_usage_thresholdβ
- Default: 80
- Type: Int
- Unit: Percentage
- Is mutable: Yes
- Description: Disk usage threshold (percentage) to trigger log cleaning. When disk usage exceeds this threshold, log cleaning will start. The cleaner checks each configured log directory independently and processes directories that exceed this threshold.
- Introduced in: -
log_cleaner_disk_usage_targetβ
- Default: 60
- Type: Int
- Unit: Percentage
- Is mutable: Yes
- Description: Target disk usage (percentage) after log cleaning. Log cleaning will continue until disk usage drops below this threshold. The cleaner deletes the oldest log files one by one until the target is reached.
- Introduced in: -
log_cleaner_audit_log_min_retention_daysβ
- Default: 3
- Type: Int
- Unit: Days
- Is mutable: Yes
- Description: Minimum retention days for audit log files. Audit log files newer than this will not be deleted even if disk usage is high. This ensures that audit logs are preserved for compliance and troubleshooting purposes.
- Introduced in: -
log_cleaner_check_interval_secondβ
- Default: 300
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: Interval in seconds to check disk usage and clean logs. The cleaner periodically checks each log directory's disk usage and triggers cleaning when necessary. Default is 300 seconds (5 minutes).
- Introduced in: -
Serverβ
frontend_addressβ
- Default: 0.0.0.0
- Type: String
- Unit: -
- Is mutable: No
- Description: The IP address of the FE node.
- Introduced in: -
dns_cache_ttl_secondsβ
- Default: 60
- Type: Int
- Unit: Seconds
- Is mutable: No
- Description: DNS cache TTL (Time-To-Live) in seconds for successful DNS lookups. This sets the Java security property
networkaddress.cache.ttlwhich controls how long the JVM caches successful DNS lookups. Set to -1 to cache forever, or 0 to disable caching. This is particularly useful in environments where IP addresses change frequently, such as Kubernetes deployments or when using dynamic DNS. This is a static configuration and requires FE restart to take effect. - Introduced in: v3.5.11, v4.0.4
priority_networksβ
- Default: Empty string
- Type: String
- Unit: -
- Is mutable: No
- Description: Declares a selection strategy for servers that have multiple IP addresses. Note that at most one IP address must match the list specified by this parameter. The value of this parameter is a list that consists of entries, which are separated with semicolons (;) in CIDR notation, such as 10.10.10.0/24. If no IP address matches the entries in this list, an available IP address of the server will be randomly selected. From v3.3.0, StarRocks supports deployment based on IPv6. If the server has both IPv4 and IPv6 addresses, and this parameter is not specified, the system uses an IPv4 address by default. You can change this behavior by setting
net_use_ipv6_when_priority_networks_emptytotrue. - Introduced in: -
net_use_ipv6_when_priority_networks_emptyβ
- Default: false
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: A boolean value to control whether to use IPv6 addresses preferentially when
priority_networksis not specified.trueindicates to allow the system to use an IPv6 address preferentially when the server that hosts the node has both IPv4 and IPv6 addresses andpriority_networksis not specified. - Introduced in: v3.3.0
http_portβ
- Default: 8030
- Type: Int
- Unit: -
- Is mutable: No
- Description: The port on which the HTTP server in the FE node listens.
- Introduced in: -
http_worker_threads_numβ
- Default: 0
- Type: Int
- Unit: -
- Is mutable: No
- Description: Number of worker threads for http server to deal with http requests. For a negative or 0 value, the number of threads will be twice the number of cpu cores.
- Introduced in: v2.5.18, v3.0.10, v3.1.7, v3.2.2
http_backlog_numβ
- Default: 1024
- Type: Int
- Unit: -
- Is mutable: No
- Description: The length of the backlog queue held by the HTTP server in the FE node.
- Introduced in: -
enable_http_async_handlerβ
- Default: true
- Type: Boolean
- Unit: -
- Is mutable: Yes
- Description: Whether to allow the system to process HTTP requests asynchronously. If this feature is enabled, an HTTP request received by Netty worker threads will then be submitted to a separate thread pool for service logic handling to avoid blocking the HTTP server. If disabled, Netty workers will handle the service logic.
- Introduced in: 4.0.0
enable_httpsβ
- Default: false
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: Whether to enable HTTPS server alongside HTTP server in FE nodes.
- Introduced in: v4.0
https_portβ
- Default: 8443
- Type: Int
- Unit: -
- Is mutable: No
- Description: The port on which the HTTPS server in the FE node listens.
- Introduced in: v4.0
http_async_threads_numβ
- Default: 4096
- Type: Int
- Unit: -
- Is mutable: Yes
- Description: Size of the thread pool for asynchronous HTTP request processing. The alias is
max_http_sql_service_task_threads_num. - Introduced in: 4.0.0
cluster_nameβ
- Default: StarRocks Cluster
- Type: String
- Unit: -
- Is mutable: No
- Description: The name of the StarRocks cluster to which the FE belongs. The cluster name is displayed for
Titleon the web page. - Introduced in: -
rpc_portβ
- Default: 9020
- Type: Int
- Unit: -
- Is mutable: No
- Description: The port on which the Thrift server in the FE node listens.
- Introduced in: -
thrift_server_max_worker_threadsβ
- Default: 4096
- Type: Int
- Unit: -
- Is mutable: Yes
- Description: The maximum number of worker threads that are supported by the Thrift server in the FE node.
- Introduced in: -
thrift_server_queue_sizeβ
- Default: 4096
- Type: Int
- Unit: -
- Is mutable: No
- Description: The length of queue where requests are pending. If the number of threads that are being processed in the thrift server exceeds the value specified in
thrift_server_max_worker_threads, new requests are added to the pending queue. - Introduced in: -
thrift_client_timeout_msβ
- Default: 5000
- Type: Int
- Unit: Milliseconds
- Is mutable: No
- Description: The length of time after which idle client connections time out.
- Introduced in: -
thrift_backlog_numβ
- Default: 1024
- Type: Int
- Unit: -
- Is mutable: No
- Description: The length of the backlog queue held by the Thrift server in the FE node.
- Introduced in: -
brpc_idle_wait_max_timeβ
- Default: 10000
- Type: Int
- Unit: ms
- Is mutable: No
- Description: The maximum length of time for which bRPC clients wait as in the idle state.
- Introduced in: -
query_portβ
- Default: 9030
- Type: Int
- Unit: -
- Is mutable: No
- Description: The port on which the MySQL server in the FE node listens.
- Introduced in: -
mysql_nio_backlog_numβ
- Default: 1024
- Type: Int
- Unit: -
- Is mutable: No
- Description: The length of the backlog queue held by the MySQL server in the FE node.
- Introduced in: -
mysql_service_nio_enable_keep_aliveβ
- Default: true
- Type: Boolean
- Unit: -
- Is mutable: No
- Description: Enable TCP Keep-Alive for MySQL connections. Useful for long-idled connections behind load balancers.
- Introduced in: -
mysql_service_io_threads_numβ
- Default: 4
- Type: Int
- Unit: -
- Is mutable: No
- Description: The maximum number of threads that can be run by the MySQL server in the FE node to process I/O events.
- Introduced in: -
max_mysql_service_task_threads_numβ
- Default: 4096
- Type: Int
- Unit: -
- Is mutable: No
- Description: The maximum number of threads that can be run by the MySQL server in the FE node to process tasks.
- Introduced in: -
mysql_server_versionβ
- Default: 8.0.33
- Type: String
- Unit: -
- Is mutable: Yes
- Description: The MySQL server version returned to the client. Modifying this parameter will affect the version information in the following situations:
select version();- Handshake packet version
- Value of the global variable
version(show variables like 'version';)
- Introduced in: -
qe_max_connectionβ
- Default: 4096
- Type: Int
- Unit: -
- Is mutable: No
- Description: The maximum number of connections that can be established by all users to the FE node. From v3.1.12 and v3.2.7 onwards, the default value has been changed from
1024to4096. - Introduced in: -
Metadata and cluster managementβ
cluster_idβ
- Default: -1
- Type: Int
- Unit: -
- Is mutable: No
- Description: The ID of the StarRocks cluster to which the FE belongs. FEs or BEs that have the same cluster ID belong to the same StarRocks cluster. Valid values: any positive integer. The default value
-1specifies that StarRocks will generate a random cluster ID for the StarRocks cluster at the time when the leader FE of the cluster is started for the first time. - Introduced in: -
meta_dirβ
- Default: StarRocksFE.STARROCKS_HOME_DIR + "/meta"
- Type: String
- Unit: -
- Is mutable: No
- Description: The directory that stores metadata.
- Introduced in: -
edit_log_typeβ
- Default: BDB
- Type: String
- Unit: -
- Is mutable: No
- Description: The type of edit log that can be generated. Set the value to
BDB. - Introduced in: -
edit_log_portβ
- Default: 9010
- Type: Int
- Unit: -
- Is mutable: No
- Description: The port that is used for communication among the Leader, Follower, and Observer FEs in the cluster.
- Introduced in: -
edit_log_roll_numβ
- Default: 50000
- Type: Int
- Unit: -
- Is mutable: Yes
- Description: The maximum number of metadata log entries that can be written before a log file is created for these log entries. This parameter is used to control the size of log files. The new log file is written to the BDBJE database.
- Introduced in: -
metadata_ignore_unknown_operation_typeβ
- Default: false
- Type: Boolean
- Unit: -
- Is mutable: Yes
- Description: Whether to ignore an unknown log ID. When an FE is rolled back, the FEs of the earlier version may be unable to recognize some log IDs. If the value is
TRUE, the FE ignores unknown log IDs. If the value isFALSE, the FE exits. - Introduced in: -
meta_delay_toleration_secondβ
- Default: 300
- Type: Int
- Unit: Seconds
- Is mutable: Yes
- Description: The maximum duration by which the metadata on the follower and observer FEs can lag behind that on the leader FE. Unit: seconds. If this duration is exceeded, the non-leader FEs stops providing services.
- Introduced in: -
master_sync_policyβ
-
Default: SYNC
-
Type: String
-
Unit: -
-
Is mutable: No
-
Description: The policy based on which the leader FE flushes logs to disk. This parameter is valid only when the current FE is a leader FE. Valid values:
SYNC: When a transaction is committed, a log entry is generated and flushed to disk simultaneously.NO_SYNC: The generation and flushing of a log entry do not occur at the same time when a transaction is committed.WRITE_NO_SYNC: When a transaction is committed, a log entry is generated simultaneously but is not flushed to disk.
If you have deployed only one follower FE, we recommend that you set this parameter to
SYNC. If you have deployed three or more follower FEs, we recommend that you set this parameter and thereplica_sync_policyboth toWRITE_NO_SYNC. -
Introduced in: -
replica_sync_policyβ
- Default: SYNC
- Type: String
- Unit: -
- Is mutable: No
- Description: The policy based on which the follower FE flushes logs to disk. This parameter is valid only when the current FE is a follower FE. Valid values:
SYNC: When a transaction is committed, a log entry is generated and flushed to disk simultaneously.NO_SYNC: The generation and flushing of a log entry do not occur at the same time when a transaction is committed.WRITE_NO_SYNC: When a transaction is committed, a log entry is generated simultaneously but is not flushed to disk.
- Introduced in: -