20.2. Release 302-e

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/info to 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.url in 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 TEXTFILE format.
  • 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 DECIMAL values.

MongoDB Connector Changes

  • Fix queries involving joins or aggregations on ObjectId type.

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-dn and ldap.bind-password LDAP 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 timestamp values. 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 enum type.
  • Fix reading and writing of timestamp values. 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 json and jsonb types to Presto json type.
  • Support user impersonation.

MySQL Connector Changes

  • Fix reading and writing of timestamp values. Previously, incorrect value would be read unless Presto JVM is a certain time zone.

MongoDB Connector Changes

  • Fix queries involving joins or aggregations on row types containing ObjectId.

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-standard table access control.

MySQL Connector Changes

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.config contains the following. If you already set -XX:ReservedCodeCacheSize and -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-standard table 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 timestamptz type.

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-type property to allow using Kerberos authentication with service principal without hostname component.

Update 13

Hive Connector Changes

  • Add table properties textfile_skip_header_line_count and textfile_skip_footer_line_count for table with format=TEXTFILE that configures Hive skip.footer.line.count and skip.header.line.count serde properties.

Oracle Connector Changes

  • Add support for SYNONYM tables. To turn it on set oracle.synonyms.enabled=true in oracle connector properties file.

Update 14

JDBC based Connectors Changes

  • Add metadata cache that is configured with metadata.cache-ttl and metadata.cache-missing. By default caching is disabled (equivalent to metadata.cache-ttl=0s and metadata.cache-missing=false).

Update 15

Security Changes

  • Support configuring trust store for internal communication.

Hive Connector Changes

  • Fix reading from information_schema.table_privileges table.
  • Fix SHOW GRANTS.
  • Add hive.s3.positioned-reads.enabled configuration 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

Security Changes

  • Add optional additional security configuration options for authorizing resource access on HTTP level. See Resource Rules for more information.

Hive Connector Changes

  • Fix listing tables and views from Hive 2.3+ Metastore on certain databases. This fixes SHOW TABLES, SHOW VIEWS and reading from information_schema.tables table.

Update 17

Hive Connector Changes

  • Fix handling of Avro tables with avro.schema.url defined in Hive SERDEPROPERTIES.