Presto (Java) coordinator
Properties that can be customized for Presto (Java) coordinator
are listed here.
| Property | Description | Type | Default value / Default setting | System property | Restart containers required |
|---|---|---|---|---|---|
presto_coordinator_resources_limits_cpu |
Resource CPU limit for Presto (Java) coordinator, container is allowed to use only this much CPU. | Kubernetes CPU Unit | small: 12; small_mincpureq: 12; medium:
12; large: 12; xlarge: 12; xxlarge: 12 |
resources.limits.cpu |
N |
presto_coordinator_resources_limits_memory |
Resource Memory limit for Presto (Java) coordinator, container is allowed to use only this much memory. | Units of Bytes Note: For more information about the memory unit, see Memory resource units.
|
small: 100G; small_mincpureq: 100G;
medium: 100G; large: 100G; xlarge: 100G;
xxlarge: 100G |
resources.limits.memoryNote: For more information about the memory unit, see
Memory resource units.
|
N |
presto_coordinator_resources_limits_ephemeral_storage |
This parameter sets the maximum amount of local ephemeral storage that a container in a Presto (Java) coordinator Pod can consume. | Units of Bytes | small: 10G; small_mincpureq: 10G; medium:
10G; large: 10G; xlarge: 10G; xxlarge:
10G |
resources.limits.ephemeral-storage |
N |
presto_coordinator_resources_requests_cpu |
Resource CPU request for Presto (Java) coordinator. | Kubernetes CPU Unit | small: 12; small_mincpureq: 0.005; medium:
12; large: 12; xlarge: 12; xxlarge: 12 |
resources.requests.cpu |
N |
presto_coordinator_resources_requests_memory |
Resource memory request for Presto (Java) coordinator. | Units of Bytes Note: For more information about the memory unit, see Memory resource units.
|
small: 100G; small_mincpureq: 100G;
medium: 100G; large: 100G; xlarge: 100G;
xxlarge: 100G |
resources.requests.memory
Note: For more information about the memory unit, see Memory resource units.
|
N |
presto_coordinator_resources_requests_ephemeral_storage |
This parameter sets the minimum/guaranteed size of local ephemeral storage that a container in a Presto (Java) coordinator Pod requests. | Units of Bytes | small: 1G; small_mincpureq: 1G; medium:
1G; large: 1G; xlarge: 1G; xxlarge: 1G |
resources.request.ephemeral-storage |
N |
|
Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM). | - | jvm.config.Xmx |
Y | |
|
Default local concurrency for parallel operators such as joins and aggregations. | Number(must be the power of two) | 16 | config.properties.task.concurrency |
Y |
|
The maximum amount of user memory that a query can use across the entire cluster. | Data size | 1TB | config.properties.query.max-memory |
Y |
|
The maximum amount of user memory that a query can use on a worker. | Data size | presto_coordinator_jvm_Xmx*0.795 |
config.properties.query.max-memory-per-node |
Y |
|
The maximum amount of user and system memory that a query can use on a worker. | Data size | presto_coordinator_jvm_Xmx*0.795 |
config.properties.query.max-total-memory-per-node |
Y |
|
Describes how many queries can be processed simultaneously in a single cluster node. | Integer | 15 | config.properties.query.max-concurrent-queries |
Y |
|
The amount of memory set aside as headroom/buffer in the JVM heap for allocations that are not tracked by Presto (Java). | Data size | presto_coordinator_jvm_Xmx*0.2 |
config.properties.query.memory.heap-headeroom-per-node |
Y |
|
The maximum amount of user and system memory that a query can use across the entire cluster. | Data size | 2TB | config.properties.query.max-total-memory |
Y |
presto_coordinator_experimental_optimized_repartitioning |
Improve performance of repartitioning data between stages. | Boolean | true |
experimental.optimized-repartitioning |
Y |
presto_coordinator_experimental_pushdown_dereference_enabled |
Add support for pushdown of dereference expressions for querying nested data. | Boolean | experimental.pushdown-dereference-enabled |
Y | |
presto_coordinator_experimental_pushdown_subfields_enabled |
Add support for pushdown of subfields expressions for querying nested data. | Boolean | experimental.pushdown-subfields-enabled |
Y | |
presto_coordinator_join_max_broadcast_table_size |
Add join-max-broadcast-table-size configuration property
andjoin_max_broadcast_table_size session property to control the maximum estimated
size of a table that can be broadcast when using AUTOMATIC join distribution
type. |
Integer | join-max-broadcast-table-size |
Y | |
presto_coordinator_node_scheduler_max_pending_splits_per_task |
The number of outstanding splits with the standard split weight that can be queued for each
worker node for a single stage of a query, even when the node is already at the limit for total
number of splits. Allowing a minimum number of splits per stage is required to prevent starvation
and deadlocks. This value must be smaller than node-scheduler.max-splits-per-node,
will usually be increased for the same reasons, and has similar drawbacks if set too high. |
Integer | node-scheduler.max-pending-splits-per-task |
Y | |
presto_coordinator_optimizer_prefer_partial_aggregation |
This property allow users to disable partial aggregations for queries that do not benefit. | Boolean | optimizer.prefer-partial-aggregation |
Y | |
presto_coordinator_query_execution_policy |
Configures the algorithm to organize the processing of all of the stages of a query. | String | phased |
query.execution-policy |
Y |
presto_coordinator_query_low_memory_killer_policy |
The policy used for selecting the query to kill when the cluster is out of memory (OOM). This
property can have one of the following values: none, total-reservation, or
total-reservation-on-blocked-nodes. none disables the cluster OOM killer.
The value of total-reservation configures a policy that kills the query with the largest memory
reservation across the cluster. The value of total-reservation-on-blocked-nodes
configures a policy that kills the query using the most memory on the workers that are out of memory
(blocked). |
String |
|
query.low-memory-killer.policy |
Y |
presto_coordinator_query_max_stage_count |
Add a limit on the number of stages in a query. The default is 100 and can be changed with
the query.max-stage-countconfiguration property and the
query_max_stage_count session property. |
Integer | 200 | query.max-stage-count |
Y |
presto_coordinator_query_min_schedule_split_batch_size |
Add query.min-schedule-split-batch-size config flag to set the minimum
number of splits to consider for scheduling per batch. |
Boolean | query.min-schedule-split-batch-size |
Y | |
presto_coordinator_query_stage_count_warning_threshold |
Add a config option (query.stage-count-warning-threshold) to specify a
per-query threshold for the number of stages. When this threshold is exceeded, a
TOO_MANY_STAGES warning is raised. |
Integer | 150 | query.stage-count-warning-threshold |
Y |
presto_coordinator_scale_writers |
Enable writer scaling by dynamically increasing the number of writer tasks on the cluster. | Boolean | scale-writers |
Y | |
presto_coordinator_sink_max_buffer_size |
Buffer size for IO writes while collecting pipeline results. Higher value may increase speed of IO operations with the cost of additional memory. Also higher value may increase number of data lost when presto node will fail effectively slowing down IO in unstable environment. | Integer | sink.max-buffer-size |
Y | |
presto_coordinator_experimental_max_revocable_memory_per_node |
The amount of revocable memory a query can use on each node. | Units of Bytes | experimental.max-revocable-memory-per-node |
Y | |
presto_coordinator_experimental_reserved_pool_enabled |
This property allows users to enable or disable Reserved Pool in Presto (Java). When the General Pool is full, this property uses OOM killer in Presto (Java) to increase the General Pool concurrency and prevent the deadlock. | Boolean | False | experimental.reserved-pool-enabled |
Y |
presto_coordinator_query_min_expire_age |
This property describes the minimum time after which you can remove the query metadata from the server. | String (Duration) | 120 minutes | query.min-expire-age |
Y |
presto_coordinator_enable_dynamic_filtering |
This property improves performance for queries with broadcast or collocated joins by adding dynamic filtering and storage pruning support. | Boolean | experimental.enable-dynamic-filtering |
Y | |
presto_coordinator_com_facebook_presto_governance |
This property sets the minimum log level for the logger
com.facebook.presto.governance. It helps to customize the logging behavior based on
the severity of log messages. |
String(log levels) Note: There are four levels:
DEBUG,
INFO, WARN and
ERROR |
com.facebook.presto.governance |
||
presto_coordinator_com_facebook_presto_governance_util |
This property sets the minimum log level for the logger
com.facebook.presto.governance_util. It helps to customize the logging behavior
based on the severity of log messages. |
String(log levels) Note: There are four levels:
DEBUG,
INFO, WARN and
ERROR |
com.facebook.presto.governance.util |
||
presto_coordinator_com_facebook_presto_dispatcher |
This property sets the minimum log level for the logger
com.facebook.presto.dispatcher. It helps to customize the logging behavior based on
the severity of log messages. |
String(log levels) Note: There are four levels:
DEBUG,
INFO, WARN and
ERROR |
com.facebook.presto.dispatcher |
||
presto_coordinator_exchange_client_threads |
This property helps to control the number of threads used by exchange clients in Presto (Java) to fetch data from other Presto (Java) nodes during query execution. | Integer | exchange.client-threads |
||
presto_coordinator_exchange_http_client_max_connections |
This property specifies the maximum number of HTTP connections that the Exchange service can establish concurrently across all servers it interacts with. it helps to regulate the total number of simultaneous connections used by the exchange client for communication between Presto (Java) nodes. | Integer | exchange.http-client.max-connections |
||
presto_coordinator_exchange_http_client_max_requests_queued_per_destination |
This property determines the maximum number of HTTP requests that can be queued for each destination server by the exchange client. | Integer | exchange.http-client.max-requests-queued-per-destination |
||
presto_coordinator_http_server_log_max_size |
This property specifies the maximum file size for the log file generated by the HTTP server component. | Units of Bytes | http-server.log.max-size |
||
presto_coordinator_http_server_log_max_history |
The property specifies the maximum number of log files that the HTTP server component will retain before rotating old log content | Integer | http-server.log.max-history |
||
presto_coordinator_http_server_threads_max |
Integer | http-server.threads.max |
|||
presto_coordinator_log_max_history |
This property represents the maximum number of general application log files retained by a logging system before older logs are rotated out. | Integer | log.max-history |
||
presto_coordinator_log_max_size |
The property log.max-size defines the maximum file size allowed for the
general application log file. |
Units of Bytes | log.max-size |
||
presto_coordinator_node_scheduler_max_splits_per_node |
This property specifies the target maximum number of splits that can concurrently run on each
worker node. Splits represent units of work within queries. Adjusting this property allows
administrators to optimize resource utilization, especially in scenarios involving large query
batches or connectors generating numerous splits. CAUTION: Setting
Set this property such that there is
always at least one split waiting to be processed, but not higher.presto_coordinator_node_scheduler_max_splits_per_node at too high value might lead
to inefficient memory usage and performance degradation. |
Integer | node-scheduler.max-splits-per-node |
||
presto_coordinator_optimize_nulls_in_join |
This property when enabled reduces the overhead of processing NULL values
during JOIN operations, particularly beneficial when dealing with columns
containing a significant number of NULL values. |
Boolean | optimize-nulls-in-join |
||
presto_coordinator_optimizer_default_filter_factor_enabled |
This property enables the use of a default value for estimating the cost of filters in query optimization. | Boolean | optimizer.default-filter-factor-enabled |
||
presto_coordinator_optimizer_exploit_constraints |
This property enables constraint optimizations for querying catalogs that support table constraints. | Boolean | optimizer.exploit-constraints |
||
presto_coordinator_query_client_timeout |
This property specifies the duration for which the cluster waits without any communication from the client application, (for example CLI) before abandoning and canceling the ongoing query or task. | String (Duration) | query.client.timeout |
||
presto_coordinator_query_max_execution_time |
This property specifies the maximum allowed time for a query to be actively executing on the cluster before termination. | String (Duration) | query.max-execution-time |
||
presto_coordinator_query_max_history |
This property refers to the maximum number of queries to keep in the query history to provide statistics and other information. If this value is reached, queries are removed based on age | Integer | query.max-history |
||
presto_coordinator_query_max_length |
This property specifies the maximum number of characters allowed for the SQL query text. Longer queries are not processed, and are terminated with error. | Integer | query.max-length |
||
presto_coordinator_shutdown_grace_period |
This property specifies the duration of time that the system waits after receiving a shutdown request before initiating the shutdown process. During this grace period, the system continues to operate normally, allowing ongoing active tasks to complete. | String (Duration) | shutdown.grace-period |
||
presto_coordinator_experimental_max_spill_per_node |
This property refers to the maximum spill space used by all queries on a single node (when the memory allocated for query processing is exceeded). | Units of Bytes | experimental.max-spill-per-node |
||
presto_coordinator_experimental_query_max_spill_per_node |
This property refers to the maximum spill space used by a single query on a single node. | Units of Bytes | experimental.query-max-spill-per-node |
||
presto_coordinator_experimental_spiller_max_used_space_threshold |
This property sets a threshold disk space usage ratio. If the usage exceeds beyond threshold value, this spill path becomes ineligible for spilling. | Double | experimental.spiller-max-used-space-threshold |
||
presto_coordinator_experimental_spiller_spill_path |
This property specifies a directory where spilled content is written. It can be a comma separated list to spill simultaneously to multiple directories, which helps to use multiple drives installed in the system. (It is recommended to avoid spilling to system drives and to ensure that spill operations do not interfere with the JVM operation or disk performance.) | String | experimental.spiller-spill-path |
||
presto_coordinator_httpserver_max_request_header_size |
This property is used to set the maximum size of the request header that
http supports. |
Data size | 16kB | httpserver.max_request_header_size |
Y |
presto_coordinator_httpserver_max_response_header_size |
This property is used to set the maximum size of the response header that
http supports. |
Data size | 16kB | httpserver.max_response_header_size |
Y |
presto_coordinator_join_distribution_type |
This property specifies the type of distributed join to use. Allowed values include:
AUTOMATIC, PARTITIONED, BROADCAST |
String | AUTOMATIC |
join-distribution-type |
For more information about how to customize the Presto properties, see Customization.