These settings are available in system.settings and are autogenerated from source.
parallel_replicas_allow_in_with_subquery
Version history
| Version | Default value | Comment |
|---|---|---|
| 24.3 | 1 | If true, subquery for IN will be executed on every follower replica |
If true, subquery for IN will be executed on every follower replica.
parallel_replicas_allow_materialized_views
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.12 | 1 | Allow usage of materialized views with parallel replicas |
Allow usage of materialized views with parallel replicas
parallel_replicas_allow_view_over_mergetree
Beta featureVersion history
| Version | Default value | Comment |
|---|---|---|
| 26.4 | 0 | New setting |
Allow parallel replicas to execute the outer query of a simple view over MergeTree tables (instead of the view’s inner query), improving parallelization across nodes. Also applies to UNION ALL views whose branches all read from different MergeTree tables.
parallel_replicas_connect_timeout_ms
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.6 | 300 | Separate connection timeout for parallel replicas queries |
The timeout in milliseconds for connecting to a remote replica during query execution with parallel replicas. If the timeout is expired, the corresponding replicas is not used for query executio
parallel_replicas_count
Beta featureThis is internal setting that should not be used directly and represents an implementation detail of the ‘parallel replicas’ mode. This setting will be automatically set up by the initiator server for distributed queries to the number of parallel replicas participating in query processing.
parallel_replicas_custom_key
Beta featureAn arbitrary integer expression that can be used to split work between replicas for a specific table. The value can be any integer expression.
Simple expressions using primary keys are preferred.
If the setting is used on a cluster that consists of a single shard with multiple replicas, those replicas will be converted into virtual shards.
Otherwise, it will behave same as for SAMPLE key, it will use multiple replicas of each shard.
parallel_replicas_custom_key_range_lower
Beta featureVersion history
| Version | Default value | Comment |
|---|---|---|
| 24.6 | 0 | Add settings to control the range filter when using parallel replicas with dynamic shards |
Allows the filter type range to split the work evenly between replicas based on the custom range [parallel_replicas_custom_key_range_lower, INT_MAX].
When used in conjunction with parallel_replicas_custom_key_range_upper, it lets the filter evenly split the work over replicas for the range [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].
Note: This setting will not cause any additional data to be filtered during query processing, rather it changes the points at which the range filter breaks up the range [0, INT_MAX] for parallel processing.
parallel_replicas_custom_key_range_upper
Beta featureVersion history
| Version | Default value | Comment |
|---|---|---|
| 24.6 | 0 | Add settings to control the range filter when using parallel replicas with dynamic shards. A value of 0 disables the upper limit |
Allows the filter type range to split the work evenly between replicas based on the custom range [0, parallel_replicas_custom_key_range_upper]. A value of 0 disables the upper bound, setting it the max value of the custom key expression.
When used in conjunction with parallel_replicas_custom_key_range_lower, it lets the filter evenly split the work over replicas for the range [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].
Note: This setting will not cause any additional data to be filtered during query processing, rather it changes the points at which the range filter breaks up the range [0, INT_MAX] for parallel processing
parallel_replicas_filter_pushdown
Beta featureVersion history
| Version | Default value | Comment |
|---|---|---|
| 26.2 | 0 | New setting |
Allow pushing down filters to part of query which parallel replicas choose to execute
parallel_replicas_for_cluster_engines
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.3 | 1 | New setting. |
Replace table function engines with their -Cluster alternatives
parallel_replicas_for_non_replicated_merge_tree
If true, ClickHouse will use parallel replicas algorithm also for non-replicated MergeTree tables
parallel_replicas_index_analysis_only_on_coordinator
Version history
| Version | Default value | Comment |
|---|---|---|
| 24.12 | 1 | Index analysis done only on replica-coordinator and skipped on other replicas. Effective only with enabled parallel_replicas_local_plan |
| 24.10 | 1 | Index analysis done only on replica-coordinator and skipped on other replicas. Effective only with enabled parallel_replicas_local_plan |
Index analysis done only on replica-coordinator and skipped on other replicas. Effective only with enabled parallel_replicas_local_pla
parallel_replicas_insert_select_local_pipeline
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.5 | 1 | Use local pipeline during distributed INSERT SELECT with parallel replicas. Currently disabled due to performance issues |
| 25.4 | 0 | Use local pipeline during distributed INSERT SELECT with parallel replicas. Currently disabled due to performance issues |
Use local pipeline during distributed INSERT SELECT with parallel replicas
parallel_replicas_local_plan
Version history
| Version | Default value | Comment |
|---|---|---|
| 24.9 | 0 | Use local plan for local replica in a query with parallel replicas |
| 24.11 | 1 | Use local plan for local replica in a query with parallel replicas |
| 24.10 | 1 | Use local plan for local replica in a query with parallel replicas |
Build local plan for local replica
parallel_replicas_mark_segment_size
Version history
| Version | Default value | Comment |
|---|---|---|
| 24.9 | 0 | Value for this setting now determined automatically |
| 24.1 | 128 | Add new setting to control segment size in new parallel replicas coordinator implementation |
Parts virtually divided into segments to be distributed between replicas for parallel reading. This setting controls the size of these segments. Not recommended to change until you’re absolutely sure in what you’re doing. Value should be in range [128; 16384]
parallel_replicas_min_number_of_rows_per_replica
Limit the number of replicas used in a query to (estimated rows to read / min_number_of_rows_per_replica). The max is still limited by ‘max_parallel_replicas’
parallel_replicas_mode
Version history
| Version | Default value | Comment |
|---|---|---|
| 24.10 | read_tasks | This setting was introduced as a part of making parallel replicas feature Beta |
Type of filter to use with custom key for parallel replicas. default - use modulo operation on the custom key, range - use range filter on custom key using all possible values for the value type of custom key.
parallel_replicas_only_with_analyzer
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.2 | 1 | Parallel replicas is supported only with analyzer enabled |
The analyzer should be enabled to use parallel replicas. With disabled analyzer query execution fallbacks to local execution, even if parallel reading from replicas is enabled. Using parallel replicas without the analyzer enabled is not supported
parallel_replicas_plan_based
Experimental featureVersion history
| Version | Default value | Comment |
|---|---|---|
| 26.7 | 0 | New setting |
Decide whether and where to use parallel replicas by analyzing the query plan, as opposed to the query-tree-based analysis. As a result, a plan fragment is sent to the remote replicas instead of a SQL query. Experimental.
parallel_replicas_prefer_local_join
Version history
| Version | Default value | Comment |
|---|---|---|
| 24.2 | 1 | If true, and JOIN can be executed with parallel replicas algorithm, and all storages of right JOIN part are *MergeTree, local JOIN will be used instead of GLOBAL JOIN. |
If true, and JOIN can be executed with parallel replicas algorithm, and all storages of right JOIN part are *MergeTree, local JOIN will be used instead of GLOBAL JOIN.
parallel_replicas_prefer_local_replica
Version history
| Version | Default value | Comment |
|---|---|---|
| 26.5 | 1 | New setting. When disabled, replicas for parallel reading are selected purely by the load balancing algorithm without forcing the local replica into the set. |
When enabled (default), the local replica is always included in the set of replicas used for parallel reading.
When disabled, the local replica is not given any preference and replicas are selected purely by the load balancing algorithm.
This allows queries with max_parallel_replicas = 1 to be directed to another host, which can improve cache locality when many short queries are distributed across a cluster.
parallel_replicas_support_projection
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.8 | 1 | New setting. Optimization of projections can be applied in parallel replicas. Effective only with enabled parallel_replicas_local_plan and aggregation_in_order is inactive. |
Optimization of projections can be applied in parallel replicas. Effective only with enabled parallel_replicas_local_plan and aggregation_in_order is inactive.