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 distributed memory a query may use and query.max-memory-per-node
which limits the amount of memory a query may use on any one node. On each worker, the resources.reserved-system-memory
config property controls how much memory is reserved for internal Presto data structures and temporary allocations.
Session Properties
All session properties now have a SQL type, default value and description. The value for SET SESSION can now be any constant expression, and the SHOW SESSION command prints the current effective value and default value for all session properties.
This type safety extends to the SPI where properties can be validated and converted to any Java type using SessionPropertyMetadata
. 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 need to update your code to declare the properties in the Connector
implementation and callers of ConnectorSession.getProperty()
will now need the expected Java type of the property.
General Changes
Allow using any type with value window functions first_value(), last_value(), nth_value(), lead() and lag().
Add element_at() function.
Add url_encode() and url_decode() functions.
concat() now allows arbitrary number of arguments.
Fix JMX connector. In the previous release it always returned zero rows.
Fix handling of literal
NULL
inIS DISTINCT FROM
.Fix an issue that caused some specific queries to fail in planning.
Hive Changes
Fix the Hive metadata cache to properly handle negative responses. This makes the background refresh work properly by clearing the cached metadata entries when an object is dropped outside of Presto. In particular, this fixes the common case where a table is dropped using Hive 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 need to update your code to the new APIs.