19.1. Release 0.213-e

Update 0.1

General Changes

  • Fix bug where the CLI throws a vague error Query gone(server restarted?) instead of actual Exception message.
  • Support prepared statements that are longer than 4K bytes.
  • Cost based optimization for partial aggregation that conditionally depending on cost redistributes data before partial aggregation.
  • Add security audit logging.
  • Add CloudWatch Agent compatible logger.
  • Add ANALYZE SQL command.
  • Improve planning and query performance for queries with TINYINT, SMALLINT and VARBINARY literals.
  • Fix issue where queries containing distributed ORDER BY and aggregation could sometimes fail to make progress when data was spilled.
  • Make top N row number optimization work in some cases when columns are pruned.
  • Add session property optimize-top-n-row-number and configuration property optimizer.optimize-top-n-row-number to toggle the top N row number optimization.
  • Split reporting of raw input data and processed input data for source operators.
  • Correctly report processed input data for source stages in EXPLAIN ANALYZE.
  • Don’t report raw input data for Values, Local Exchange and Local Merge Sort operators.
  • Add experimental support for Spill to Disk for OrderBy. The feature needs to be explicitly enabled.
  • Add experimental support for Spill to Disk for WindowOperator. The feature needs to be explicitly enabled.
  • Add Generic JDBC connector.
  • Print join enumeration stats in explain analyze.
  • Flip the default value of deprecated.legacy-char-to-varchar-coercion property to true, so that CHAR to VARCHAR implicit coersion is allowed (and not the opposite). This returns the code to the state from Presto version 0.206.
  • Fix memory leak for failed queries.

Security Changes

  • The LDAP properties internal-communication.authentication.ldap.user and internal-communication.authentication.ldap.password are no longer supported. If the LDAP authentication is enabled along with HTTPS for internal communication, then for successful communication between nodes you need to also enable SSL client certificate or Kerberos or JWT authentication.
  • Support refreshing of FileBasedAccessControl and FileBasedSystemAccessControl with an optional property security.refresh-period.
  • Support LDAP with anonymous bind disabled

Hive Connector

  • Implement ROLE management support.
  • 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 Azure Data Lake Storage (ADLS)
  • Add Hive metastore API recording tool for remote debugging purposes.
  • Support CSV table storage format.
  • Support Apache Ranger authorization (requires licence).
  • Support Apache Sentry authorization (requires licence).
  • Add support for column statistics in Glue.
  • Support predicate pushdown for DATE type with Parquet.
  • Support tables located in HDFS encryption zones managed with Hadoop KMS.
  • Fix query failure when querying partitioned Avro table with very long column type definition.
  • Support Avro tables with avro.schema.url in kerberized HDFS.

MySQL, PostgreSQL, Redshift, and SQL Server Changes

  • Support schemas, tables and columns with names that are upper-case or mixed-case.

Web UI Changes

  • Make Cumulative Memory usage reporting consistent on query list and query details pages.
  • Fix Live Plan UI for index joins.
  • Fix filtering in query list when sort order is changed.

Server RPM Changes

  • Fix parsing of node.properties in the init script when there are duplicate entries in the properties file.