Release 0.291¶
Highlights¶
Add ALTER TABLE SET PROPERTIES statement. #21495
Add catalog and schema level access checks in USE statement. #24182
Add single worker execution. To improve latency of tiny queries running on a large cluster, we introduce single worker execution mode: query will only use one node to execute and plan would be optimized accordingly. This feature can be turned on by the configuration property
single-node-execution-enabled
or the session propertysingle_node_execution_enabled
. #24172Add support for the histogram statistic type. #22365
Add support for
ALTER VIEW RENAME TO
operation, including the necessary infrastructure for connector implementations. #23749Improve scheduling for CTE materialization: Now, only the stages containing CTE table scans that reference CTE table write stages are blocked till the write is complete, instead of the entire query being blocked as was the case previously. This is controlled by the session property
enhanced_cte_scheduling_enabled
(on by default). #24108Add support for time type partitioning in the ORC file format for Iceberg. #24091
Enable
scale-writers
by default. #24107Improve UUID comparisons so they conform to IETF RFC 4122. #23847
Details¶
General Changes¶
Fix behavior of
width_bucket(x, bins) -> bigint()
which previously treated allnull
elements in bins as0
. The function throws an error if it finds anull
or non-finite element inbins
. #24103Fix bug in
strrpos
function for multibyte characters. #24226Improve Request Headers in the Authentication Filter Class. #23380
Improve coordinator task management performance. #24369
Improve efficiency of coordinator when running a large number of tasks. #24288
Improve scheduling for CTE materialization: Now, only the stages containing CTE table scans that reference CTE table write stages are blocked till the write is complete, instead of the entire query being blocked as was the case previously. This is controlled by the session property
enhanced_cte_scheduling_enabled
(on by default). #24108Improve security of internal HTTP endpoints by sanitizing headers before they are used. #24004
Add ALTER TABLE SET PROPERTIES statement. #21495
Add
google_polyline_decode()
function to convert Google polyline to Presto ST_Geometry types. #23999Add
google_polyline_encode()
function to convert Presto ST_Geometry to Google polyline types. #23999Add
ClientRequestFilter.java
interface in Presto-spi: Client Request Filter. #23380Add a configuration property
plan-checker.config-dir
to set the configuration directory for PlanCheckerProvider configurations. #23955Add a session property
include_values_node_in_connector_optimizer
to enable connector optimizer optimize plans with values node. #24227Add
native_enforce_join_build_input_partition
session property to not enforce input partition for join build. #24163Add catalog and schema level access checks in USE statement. #24182
Add delete node in subfield pruning optimizer. #24206
Add single worker execution. To improve latency of tiny queries running on a large cluster, we introduce single worker execution mode: query will only use one node to execute and plan would be optimized accordingly. This feature can be turned on by the configuration property
single-node-execution-enabled
or the session propertysingle_node_execution_enabled
. #24172Add support for ORC metadata cache invalidation based on file modification time. #24346
Add support for
ALTER VIEW RENAME TO
operation, including the necessary infrastructure for connector implementations. #23749Add support for the histogram statistic type. #22365
Enable
scale-writers
by default. #24107Update usage of MD5 to SHA256. #23903
Improve UUID comparisons so they conform to IETF RFC 4122. #23847
Prestissimo (native Execution) Changes¶
Improve partitioned remote exchanges for wide data sets (more than 500 columns) to use row wise encoding. #23929
Add native plan checker to the native sidecar plugin and native endpoint for Velox plan conversion. #23596
Add session properties
native_spill_prefixsort_enabled
,native_prefixsort_normalized_key_max_bytes
, andnative_prefixsort_min_rows
. #24043Add support for automatic scaling of writer threads for partitioned tables. Can be enabled with the
native_execution_scale_partitioned_writer_threads_enabled
session property. Native execution only. #24155Remove the
experimental.table-writer-merge-operator-enabled
configuration property and thetable_writer_merge_operator_enabled
session property. #24145Remove deprecated
native_query_trace_task_reg_exp session
property from Prestissimo. #24270Add utilizing environment variables as stand in for configuration values. The environment variable value is retrieved and used for the configuration option. #23880
Add session property
native_query_trace_fragment_id
andnative_query_trace_shard_id
for easier trace control. #24209Add session property:
native_table_scan_scaled_processing_enabled
. #24284Add session property:
native_table_scan_scale_up_memory_usage_ratio
. #24284Add session property
native_scaled_writer_rebalance_max_memory_usage_ratio
. #24261Add session property
native_scaled_writer_max_partitions_per_writer
. #24261Add session property
native_scaled_writer_min_partition_processed_bytes_rebalance_threshold
. #24261Add session property
native_scaled_writer_min_processed_bytes_rebalance_threshold
. #24261
Security Changes¶
Fix security vulnerability in presto-pinot-toolkit and presto-product-tests in response to CVE-2020-0287. #24249
Fix security vulnerability in swagger-ui jar in response to CVE-2018-25031. #24153
Fix security vulnerability in swagger-ui jar in response to CVE-2018-25031. #24199
Improve pbkdf2 hashing using SHA-256 cipher in response to CWE-759. #24132
Add re2j regex matching in QueryStateInfoResource to protect from ReDoS attacks in response to CVE-2024-45296. #24048
Add security-related headers to the static resources serving from the Presto UI, including:
Content-Security-Policy
,X-Content-Type-Options
. See reference docs Content-Security-Policy and X-Content-Type-Options. #24272Add support for pluggable Custom Presto Authenticators. #24111
Replace alluxio-shaded-client with alluxio-core libraries in response to CVE-2023-44981. #24231
Upgrade avro to version 1.11.4 in response to CVE-2024-47561. #23943
Upgrade grpc dependencies to version 1.68.0 in response to CVE-2022-25647. #24051
Upgrade gson from version 2.8.9 to v2.11.0. #24247
Upgrade gson to version 2.8.9 in response to CVE-2022-25647. #24051
Upgrade jetty dependencies to version 9.4.56.v20240826 in response to CVE-2024-8184. #24184
Upgrade netty dependencies to version 4.1.115.Final in response to CVE-2024-47535. #24137
Upgrade druid-processing to 30.0.1 in response to CVE-2024-45384 and CVE-2024-45537. #23949
Upgrade lucene-core to 8.10.0 in response to WS-2021-0646. #24168
Upgrade lucene-queryparser to 8.10.0 in response to WS-2021-0646. #24168
Upgrade lucene-analyzer-common to 8.10.0 in response to WS-2021-0646. #24168
Update hibernate-validator to 6.2.0.Final in response to CVE-2023-1932 and CVE-2020-10693. #24168
Upgrade Jackson dependencies to 2.15.4 in response to PRISMA-2023-0067. #23753
Upgrade snakeyaml to 2.0 in response to CVE-2022-1471 and CVE-2022-25857 and CVE-2017-18640 and CVE-2022-38752 and CVE-2022-38751 and CVE-2022-38750 and CVE-2022-38749 and CVE-2022-41854. #24099
Upgrade nanoid to 3.3.8 in response to CVE-2024-55565. #24273
BigQuery Connector Changes¶
Fix
SELECT
statements failing withNoClassDefFoundError: io/grpc/CallCredentials2
. #23957
Cassandra Connector Changes¶
Improve cryptographic protocol in response to Weak SSL/TLS protocols should not be used. #24436
Clickhouse Connector Changes¶
Add
DateTime64
type support. #24344
Delta Connector Changes¶
Add
catalog.system.invalidate_metastore_cache
procedure to invalidate all, or portions of, the metastore cache. #23401
Hive Connector Changes¶
Add
catalog.system.invalidate_metastore_cache
procedure to invalidate all, or portions of, the metastore cache. #23401
Hudi Connector Changes¶
Add
catalog.system.invalidate_metastore_cache
procedure to invalidate all, or portions of, the metastore cache. #23401
Iceberg Connector Changes¶
Improve performance of scan planning in Iceberg Connector. #24376
Add
catalog.system.invalidate_metastore_cache
procedure to invalidate all, or portions of, the metastore cache. #23401Add configuration property
iceberg.rest.nested.namespace.enabled
to support nested namespaces in Iceberg’s REST Catalog. Defaults totrue
. #24083Add support for
ALTER VIEW RENAME TO
. #23749Add support of
view
for Iceberg connector when configured withREST
andNESSIE
. #23793Add support of specifying table location on creation for Iceberg connector when configured with
REST
andNESSIE
. #24218Remove in-memory hive metastore cache in Iceberg connector. #24326
Add support for time type partitioning in the ORC file format for Iceberg. #24091
Add testing for partitioning using time type in Iceberg. #24091
Memory Connector Changes¶
Add support for
ALTER VIEW RENAME TO
. #23749
MongoDB Connector Changes¶
Add steps to connect to MongoDB cluster with TLS CA File to MongoDB Connector. #24352
SPI Changes¶
Improve ExpressionOptimizer#optimize method with a variable resolver to return
RowExpression
. #24287Add WindowNode, JoinNode, SemiJoinNode, MergeJoinNode, and SpatialJoinNode to the SPI. #23976
Add Delete, TableWriter, and TableFinish node to SPI. #24088
Add SemiJoin, Join, TableWriter, Delete, and TableFinish node to connector optimizer. #24154
Add a partition by attribute to specify the scope of sort node. #24095
Remove ConnectorJoinNode from the SPI. JoinNode can now be used instead. #23976
Remove experimental getPreferredShuffleLayout methods from the connector metadata in favor of existing getNewTableLayout, getInsertLayout methods #24106
Modify the signature of
PlanCheckerProviderFactory.create
to pass in a map of configuration properties and replaceSimplePlanFragmentSerde
with aPlanCheckerProviderContext
. #23955
UI Changes¶
Add support for
BigInt
data type in the SQL Client on Presto UI on supported browsers. See compatibility for the supported browsers. #24336
Credits¶
Abe Varghese, Abhisek Saikia, Ajay Kharat, Amit Dutta, Anant Aneja, Andrii Rosa, Ann-Megha-Rajesh1, Arjun Gupta, Bryan Cutler, Christian Zentgraf, Deepa-George, Deepak Majeti, Deepak Mehra, Denodo Research Labs, Dilli-Babu-Godari, Emanuel F., Emily Chan, Facebook Community Bot, Feilong Liu, Ge Gao, Georg Schäfer, Hazmi, Heidi Han, Jacob Khaliqi, Jalpreet Singh Nanda (:imjalpreet), Jalpreet Singh Nanda (:imjalpreet), Jeremy Quirke, Jialiang Tan, Jiaqi Zhang, Joe Abraham, Ke, Kevin Tang, Konjac Huang, Leonid Chistov, Linsong Wang, Luís Fernandes, MariamAlmesfer, Matthew Peveler, Minhan Cao, Natasha Sehgal, Naveen Mahadevuni, Nikhil Collooru, Nishitha-Bhaskaran, NivinCS, Pramod Satya, Pratik Joseph Dabre, Rebecca Schlussel, Reetika Agrawal, Richard Barnes, Serge Druzkin, Sergey Pershin, Shakyan Kushwaha, Shang Ma, Shijin, Steve Burnett, SthuthiGhosh9400, Sumi Mathew, Tim Meehan, Xiao Du, Xiaoxuan Meng, Yihong Wang, Ying, Yuanda (Yenda) Li, Zac Blanco, Zac Wen, aditi-pandit, auden-woolfson, dependabot[bot], jaystarshot, pratyakshsharma, unidevel, wangd, wypb, zuyu