11.128. Release 0.113

Warning

The ORC reader in the Hive connector is broken in this release.

Cluster Resource Management

The cluster resource manager announced in Release 0.103 is now enabled by default.You can disable it with the experimental.cluster-memory-manager-enabled flag.Memory limits can now be configured via query.max-memory which controls the total distributedmemory a query may use and query.max-memory-per-node which limits the amountof memory a query may use on any one node. On each worker, theresources.reserved-system-memory config property controls how much memory is reservedfor internal Presto data structures and temporary allocations.

Session Properties

All session properties now have a SQL type, default value and description. Thevalue for SET SESSION can now be any constant expression, and theSHOW SESSION command prints the current effective value and defaultvalue for all session properties.

This type safety extends to the SPI where propertiescan be validated and converted to any Java type usingSessionPropertyMetadata. For an example, see HiveSessionProperties.

Note

This is a backwards incompatible change with the previous connector SPI.If you have written a connector that uses session properties, you will needto update your code to declare the properties in the Connectorimplementation and callers of ConnectorSession.getProperty() will nowneed the expected Java type of the property.

General Changes

Hive Changes

  • Fix the Hive metadata cache to properly handle negative responses.This makes the background refresh work properly by clearing the cachedmetadata entries when an object is dropped outside of Presto.In particular, this fixes the common case where a table is dropped usingHive but Presto thinks it still exists.
  • Fix metastore socket leak when SOCKS connect fails.

SPI Changes

  • Changed the internal representation of structural types.

Note

This is a backwards incompatible change with the previous connector SPI.If you have written a connector that uses structural types, you will needto update your code to the new APIs.