Release 302-e LTS#
This release is a long term support (LTS) release.
General changes#
Add Generic JDBC connector.
Disable Airlift’s “admin” servlet port, which was not used for anything in Presto.
Enable Cost-Based Optimizer (CBO) by default.
Add JDBC-based Google BigQuery connector.
Fix
/v1/infoto report started status after all plugins have been registered and initialized.Support prepared statements that are longer than 4K bytes.
Add CloudWatch Agent compatible logger.
Correctly report internal network/physical position count for operators.
Sum internal network/physical data size and position count from all stages in query statistics.
Report internal network/physical data size and position count in detailed query UI view.
Fix broken timeline UI view.
Add experimental support for Spill to Disk for OrderBy.
Add experimental support for Spill to Disk for WindowOperator.
Add Oracle compatibility functions
Display join enumeration stats in explain analyze.
Hive connector changes#
Add support for user impersonation when communicating with Hive Metastore.
Support tables located in HDFS encryption zones managed with Hadoop KMS.
Support Avro tables with
avro.schema.urlin kerberized HDFS.Fix query failure when querying partitioned Avro table with very long column type definition.
Support CSV table storage format.
Allow partitions without files for bucketed tables (via
hive.empty-bucketed-partitions.enabled).Allow multiple files per bucket for bucketed tables (via
hive.multi-file-bucketing.enabled). There must be one or more files per bucket. File names must match the Hive naming convention.Allow reading incompletely bucketed tables with missing files (via
hive.empty-bucketed-partitions.enabled).Add support for Azure Blob Storage
Add support for Azure Data Lake Storage (ADLS)
Add support for Azure Data Lake Storage gen 2 (ABFS)
Add textfile_field_separator and textfile_field_separator_escape table properties to control field separator and field separator characters for tables with
TEXTFILEformat.Support Apache Ranger authorization (requires licence).
Support Apache Sentry authorization (requires licence).
Add Glue support for private subnets.
Add support for column statistics in Glue.
Fix S3 eventual consistency errors for non ORC file formats.
MySQL, PostgreSQL, Redshift, and SQL Server changes#
Support schemas, tables and columns with names that are upper-case or mixed-case.
Add predicate pushdown for
DECIMALvalues.
MongoDB connector changes#
Fix queries involving joins or aggregations on
ObjectIdtype.
Base-JDBC connector library changes#
Allow customizing how query predicates are pushed down to the underlying database.
Allow customizing how values are written to the underlying database.
Security changes#
Add
ldap.bind-dnandldap.bind-passwordLDAP properties to allow LDAP authentication access LDAP server using service account.Retry Kerberos communication in case of transient network issues.
Update 2#
Security changes#
Make query result and cancellation URIs secure. Previously, an authenticated user could potentially steal the result data of any running query.
Update 4#
General changes#
Fix resource group selection when selector uses regular expression variables.
Fix thread-safety bug in resource groups manager.
Set default maximum estimated size of a table that can be broadcast when using automatic join type selection to 100MB.
Unhide join_max_broadcast_table_size session property.
Improve performance of queries when spill is enabled, but spill is not triggered.
Include revocable memory in total memory stats.
Add peak revocable memory to operator stats.
Support session property with comma or equality sign.
Support resource group selection based on client tags for enterprise ODBC and JDBC drivers.
Fix updating peak revocable memory reservation
Fix blocking on memory when revocable memory is used
Fix double memory accounting for spilling aggregations
Fix possible CPU active waiting when window operator spill is triggered
Fix access control for functions in view.
UI changes#
Display peak revocable memory in detailed query view
Display current and peak total memory in query list view
Update 5#
General changes#
Fix failure when a view column is referenced using its fully qualified form.
Fix spill files leaks in window and order by operator.
Add support for query modification plugin.
Hive connector changes#
Add procedure
system.sync_partition_metadata()to synchronize the partitions in the metastore with the partitions that are physically on the file system.
Oracle connector changes#
Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost-based optimizations.
Support user impersonation.
SQL Server connector changes#
Fix reading and writing of
timestampvalues. Previously, incorrect value would be read unless Presto JVM is a certain time zone.Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost-based optimizations.
Support user impersonation.
PostgreSQL connector changes#
Fix predicate pushdown for PostgreSQL
enumtype.Fix reading and writing of
timestampvalues. Previously, incorrect value would be read unless Presto JVM is a certain time zone.Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost-based optimizations.
Map PostgreSQL
jsonandjsonbtypes to Prestojsontype.Support user impersonation.
MySQL connector changes#
Fix reading and writing of
timestampvalues. Previously, incorrect value would be read unless Presto JVM is a certain time zone.
MongoDB connector changes#
Fix queries involving joins or aggregations on
rowtypes containingObjectId.
Teradata connector changes#
Support user impersonation.
Update 7#
Fix Web UI crash when opened as
http://coordinator:port/ui.
Update 8#
Hive connector changes#
Fix calling procedures immediately after startup, before any other queries are run. Previously, the procedure call would fail and also cause all subsequent Hive queries to fail.
Optimize
sql-standardtable access control.
MySQL connector changes#
Support retrieving table and column statistics. The statistics can be inspected with SHOW STATS and are taken into account in Cost-based optimizations.
Update 9#
General changes#
Update recommended JVM configuration. If you are installing Presto from RPM, you do not need to do anything. Otherwise make sure that your
jvm.configcontains the following. If you already set-XX:ReservedCodeCacheSizeand-Djdk.nio.maxCachedBufferSize, but to a different value, you do not need to change anything.
-XX:-UseBiasedLocking
-XX:ReservedCodeCacheSize=512M
-Djdk.nio.maxCachedBufferSize=2000000
Hive connector changes#
Fix query failure when selecting no columns from a table with parquet storage format.
Optimize
sql-standardtable access control.
Update 10#
General changes#
Fix failures for queries involving spatial joins.
Security changes#
Hide HTTP Client’s key/trust store passwords from logs.
Update 11#
PostgreSQL connector changes#
Add support for PostgreSQL’s
timestamptztype.
Hive connector changes#
Add support for assuming AWS role when accessing S3 or Glue.
Enable Hive views execution using a config toggle
Oracle connector changes#
Fix Oracle connector initialization.
Update 12#
Security changes#
Add
http-server.authentication.krb5.name-typeproperty to allow using Kerberos authentication with service principal without hostname component.
Update 13#
Hive connector changes#
Add table properties
textfile_skip_header_line_countandtextfile_skip_footer_line_countfor table withformat=TEXTFILEthat configures Hiveskip.footer.line.countandskip.header.line.countserde properties.
Oracle connector changes#
Add support for
SYNONYMtables. To turn it on setoracle.synonyms.enabled=truein oracle connector properties file.
Update 14#
JDBC based connectors changes#
Add metadata cache that is configured with
metadata.cache-ttlandmetadata.cache-missing. By default caching is disabled (equivalent tometadata.cache-ttl=0sandmetadata.cache-missing=false).
Update 15#
Security changes#
Support configuring trust store for internal communication.
Hive connector changes#
Fix reading from
information_schema.table_privilegestable.Fix
SHOW GRANTS.Add
hive.s3.positioned-reads.enabledconfiguration property allowing disabling positioned reads optimization. Consider disabling the optimization when working with small Parquet files.Add support for static AWS credentials for the Glue metastore.
Update 16#
General changes#
Add MapR Hive support.
Security changes#
Add optional additional security configuration options for authorizing resource access on HTTP level. Find more information about resource rules in System access control.
Hive connector changes#
Fix listing tables and views from Hive 2.3+ Metastore on certain databases. This fixes
SHOW TABLES,SHOW VIEWSand reading frominformation_schema.tablestable.
Update 17#
Security changes#
Fix incorrect view name displayed by
SHOW CREATE VIEW.Add support for selective disabling of KRB authentication for Presto clients.
Hive connector changes#
Fix handling of Avro tables with
avro.schema.urldefined in HiveSERDEPROPERTIES.Add support for coercions between
DECIMAL,DOUBLE, andREALfor partition and table schema mismatch.
Update 18#
RPM changes#
Limit the size of
http-request.logto 100MB by default.
JDBC based connectors changes#
Fail query when accessing unsupported column. This is backward incompatible change, user may restore previous behaviour by using
unsupported-type.handling-strategy=IGNOREconnector configuration property or by settingunsupported_type_handling_strategycatalog session property toIGNORE.Add option to convert unsupported column values to unbounded
VARCHAR. This could be achieved by usingunsupported-type.handling-strategy=CONVERT_TO_VARCHARconnector configuration property or by settingunsupported_type_handling_strategycatalog session property toCONVERT_TO_VARCHAR.
Oracle connector changes#
Introduce
oracle.number.default-scaleconfiguration property (and matchingnumber_default_scalesession property). This value will be used when mapping OracleNUMBERdata type (without precision and scale) to PrestoDECIMAL.Introduce
oracle.number.rounding-modeconfiguration property (and matchingnumber_rounding_modesessio property). This value will be used for rounding fractional part of OracleNUMBERdata type (without precision and scale) value to PrestoDECIMALwhere needed scale exceeds configured (withoracle.number.default-scale) PrestoDECIMALscale.
Security changes#
Improve authenticated user authorization.
Update 20#
General changes#
Fix failure when querying
/v1/resourceGroupStateendpoint for non-existing resource group.Improve configuration file parsing. Trailing whitespace in configuration values will is now ignored just as the leading whitespace used to be. Parsing of boolean values is now strict, anything other than
trueorfalse(case-insensitively) is now considered an error. Previously anything other thantruewas considered a false value.Limit total size of
http-request.log.*.gzfiles. This is controlled byhttp-server.log.max-history*http-server.log.max-size, which is 1500MB by default.Limit total size of
server.log.*.gzfiles. This is controlled bylog.max-history*log.max-size, which is 1500MB by default.
Hive connector changes#
Add support for custom S3 filesystems.
Allow to to specify only
hive.metastore-cache-ttlwhen enabling Hive Metastore caching (without settinghive.metastore-refresh-interval, which is disabled by default).Allow using several Hive catalogs with different configuration (with different Kerberos authentication setup).
JDBC based connectors changes#
Restoring default behaviour for column with unsupported types. Such columns will be ignored. User may configure to fail such queries by using
unsupported-type.handling-strategy=FAILconnector configuration property or by settingunsupported_type_handling_strategycatalog session property toFAIL.