Release 0.239
Warning
There is a reliability issue in ZSTD compression that causes frequent excessive GC events in this release. classification_precision function returns wrong results, fixed in 0.239.2 release.
Warning
There is a bug in LambdaDefinitionExpression canonicalization introduced since 0.238. For more details, go to #15424.
Highlights
- Add support for
DEFINERandINVOKERview security models. - Add support for caching Glue metastore in Hive connector.
- Add Pinot SQL endpoint support.
Details
General Changes
- Fix incorrect results from classification_miss_rate(), classification_fall_out() (#14740).
- Fix error in
/v1/threadend point. - Fix an issue where the property
ignore_stats_calculator_failureswould not be honored for certain queries. - Fix missing query completion events for queries which fail prior to executing.
- Fix potential performance regression when setting
use_legacy_scheduleris set tofalse. - Optimize queries with repeated expressions in filters or projections by computing the common expressions only once. This can be disabled by the session property
optimize_common_sub_expressions. - Optimize queries containing only min() and max() on columns that can be evaluated using metadata (e.g., Hive partitions). This is controlled by configuration property
optimizer.optimize-metadata-queriesand session propertyoptimize_metadata_queries. Note: Enabling this optimization might change query result if there are metadata that refers to empty data, see #14845 for examples. - Add aggregation function set_union().
- Add local disk spilling support for queries with
ORDER BYorDISTINCT. - Add new unified grouped execution configuration property
grouped-execution-enabledand session propertygrouped_executionwith default set totrue. The propertygrouped-execution-for-join-enabledwill be removed in a future release (#14886). - Remove experimental feature to perform grouped execution for eligible table scans and its associated configuration property
experimental.grouped-execution-for-eligible-table-scansand session propertygrouped_execution_for_eligible_table_scans. - Enable
dynamic-schedule-for-grouped-executionby default. This property will be removed in a future release. - Enable
grouped-execution-for-aggregation-enabledby default. This property will be removed in a future release. - Enable async page transport with non-blocking IO for exchange by default. This can be disabled by setting the configuration property
exchange.async-page-transport-enabledtofalse.
Security Changes
- Add support for
DEFINERandINVOKERview security modes. While querying a view the former uses the permissions of the view owner and the latter uses the query runner’s permissions. See CREATE VIEW.
JDBC Changes
- Implemented
DatabaseMetaData#getClientInfoPropertiesAPI.
Web UI Changes
- Fix worker thread snapshot UI to correctly display the stack trace.
Hive Changes
- Add support for caching the Glue metastore.
- Add support for warning on unfiltered partition keys. This can be enabled using the configuration property
partition-keys-to-warn-on-no-filtering.
Elasticsearch Changes
- Add connector configuration
elasticsearch.max-http-connectionsto control maximum number of persistent connections to Elasticsearch. - Add connector configuration
elasticsearch.http-thread-countto control the number of threads handling HTTP connections to Elasticsearch. - Add support for numeric keyword.
- Add support for composite
publish_address(#14811).
Pinot Changes
- Add Pinot SQL endpoint support.
- Add support to pushdown
DistinctLimitNodeto Pinot Query in SQL mode.
SPI Changes
- Move
DistinctLimitNodetopresto-spimodule for connectors to push down.
