13.30. Release 0.232
Warning
There is a bug in this release that will cause queries with the predicate IS NULL
on bucketed columns to produce incorrect results.
General Changes
- Fix an issue where
DATE_TRUNC
may produce incorrect results at certain timestamp inAmerica/Sao_Paulo
. - Improve built-in function resolution performance by caching function resolution results.
- Add a MySQL-based function namespace manager implementation that supports creating, altering, and dropping SQL functions (Function Namespace Managers).
- Add support for retrying failed stages from a materialized point instead of failing the entire query. The number of retries allowed can be configured using the configuration property
max-stage-retries
and session propertymax_stage_retries
. The default value is zero. To take advantage of this feature, exchange_materialization_strategy must be set toALL
. - Add configuration property
use-legacy-scheduler
and session propertyuse_legacy_scheduler
to use a version of the query scheduler before refactorings to enable full stage retries. The default value is false. This is a temporary property to provide an easy way to roll back in case of bugs in the new scheduler. This property will be removed in a couple releases once we have confidence in the stability of the new scheduler. - Add
query_max_total_memory_per_node
andquery_max_memory_per_node
session properties. - Add support to show whether functions have variable arity in
SHOW FUNCTIONS
. - Add support to show whether functions are built-in in
SHOW FUNCTIONS
. - Add
use_exact_partitioning
session property that forces repartitioning if repartitioning is possible. - Add support for
ALTER FUNCTION
. - Add configuration property
resource-groups.reload-refresh-interval
to control the frequency of reloading resource group information from the database. The default value is 10 seconds. - Add support for using the Thrift protocol to shuffle data. This can be configured using the configuration property
internal-communication.task-communication-protocol
. Possible values are HTTP or Thrift. - Add support for using the Thrift protocol to announce node state. This can be configured using the configuration property
internal-communication.server-info-communication-protocol
. Possible values are HTTP or Thrift. - Add session property
list_built_in_functions_only
to support hiding user-defined SQL functions inSHOW FUNCTIONS
. - Add experimental functions
tdigest_agg
,merge(tdigest)
,value_at_quantile(tdigest, quantile)
,values_at_quantiles(tdigest, quantiles)
,quantile_at_value(tdigest, quantile)
,quantiles_at_values(tdigest, quantile)
for creating, merging, and querying t-digests. These can be enabled by using the session propertyexperimental_functions_enabled
and the configuration propertyexperimental-functions-enabled
.
Hive Changes
- Fix an issue where queries could fail with buffer overflow when writing ORC files.
- Add support for handling statistics to the Alluxio metastore.
- Add Alluxio metastore which connects to the Alluxio catalog service <https://docs.alluxio.io/os/user/2.1/en/core-services/Catalog.html>.
- Add session property
shuffle_partitioned_columns_for_table_write
to make Presto shuffle data on the partition columns before writing to partitioned unbucketed Hive tables. This increases the maximum number of partitions that can be written in a single query by a factor of the total number of writing workers. The property isfalse
by default. (#14010). - Expose Hive table properties via system table$properties table.
- Change error code from
HIVE_METASTORE_ERROR
toHIVE_TABLE_DROPPED_DURING_QUERY
when aDROP TABLE
query fails due to another query dropping the table before this query has finished. - Upgrade Alluxio version from 2.1.1 to 2.1.2.
Kudu Changes
- Add
Kerberos
authentication.
Kafka Changes
- Update
Kafka
connector to 2.3.1, which improves implementation and performance (#13709).
Pinot Changes
- Replace config
pinot.prefer-broker-queries
with the inverse configpinot.forbid-broker-queries
.
Verifier Changes
- Add specific validation checks for the individual fields when validating a row column.
SPI Changes
- Replace
IsHidden
attribute on AggregationFunction and ScalarFunction withvisibility
which can be of the following valuesPUBLIC
,EXPERIMENTAL
,HIDDEN
.