Presto (Java) coordinator

Properties that can be customized for Presto (Java) coordinator are listed here.
Table 1. watsonx.data component: Presto (Java) coordinator
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.memory
Note: 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
presto_coordinator_jvm_Xmx Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM). -   jvm.config.Xmx Y
presto_coordinator_task_concurrency Default local concurrency for parallel operators such as joins and aggregations. Number(must be the power of two) 16 config.properties.task.concurrency Y
presto_coordinator_query_max_memory The maximum amount of user memory that a query can use across the entire cluster. Data size 1TB config.properties.query.max-memory Y
presto_coordinator_query_max_memory_per_node 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
presto_coordinator_query_max_total_memory_per_node 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
presto_coordinator_query_max_concurrent_queries Describes how many queries can be processed simultaneously in a single cluster node. Integer 15 config.properties.query.max-concurrent-queries Y
presto_coordinator_memory_heap_headroom_per_node 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
presto_coordinator_query_max_total_memory 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

total-reservation-on-blocked-nodes

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 presto_coordinator_node_scheduler_max_splits_per_node at too high value might lead to inefficient memory usage and performance degradation.
Set this property such that there is always at least one split waiting to be processed, but not higher.
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.