Release 0.227#

General Changes#

  • Fix a bug where index joins would fail with the error driver should never block. Queries will now fail if the index is unable to load within the time specified by the index-loader-timeout configuration property and the index_loader_timeout session property.

  • Fix a bug that could cause NullPointerException in spatial join with geometry collections on the build side.

  • Improve performance for queries with FULL OUTER JOIN where join keys have the COALESCE function applied.

  • Improve performance for UNNEST queries.

  • Improve performance of repartitioning data between stages. The optimization can be enabled by the optimized_repartitioning session property or the experimental.optimized-repartitioning configuration property.

  • Add spatial join (broadcast and partitioned) support for ST_Equals(), ST_Overlaps(), ST_Crosses(), and ST_Touches().

  • Add task_partitioned_writer_count session property to allow setting the number of concurrent writers for partitioned (bucketed) writes.

  • Add IPPREFIX type and ip_prefix() function.

  • Add differential_entropy() functions to compute differential entropy.

  • Remove syntax support for SET PATH and CURRENT_PATH. The path information was never used by Presto.

Hive Changes#

  • Fix a bug that might lead to corruption when writing sorted table in the recoverable grouped execution mode.

  • Fix ORC stripe skipping when using bloom filter.

  • Improve the CPU load on coordinator by reducing the cost of serializing HiveSplit.

  • Improve GC pressure from Parquet reader by constraining the maximum column read size. This can be configured by the parquet_max_read_block_size session property or the hive.parquet.max-read-block-size configuration property.

  • Add support for sub-field pruning when reading Parquet files, so that only necessary sub-fields are extracted from struct columns.

  • Add configuration property hive.s3-file-system-type=HADOOP_DEFAULT to allow users to switch different Hadoop file system implementations for s3:// addresses. The corresponding Hadoop File system implementation should be specified in core-site.xml

Raptor Changes#

  • Fix memory leak in file descriptor during shard compaction. The regression was introduced in 0.219.

Verifier Changes#

  • Add support for auto-resolving query failures with HIVE_TOO_MANY_OPEN_PARTITIONS error.

  • Add support to perform additional determinism analysis for queries with LIMIT clause.

  • Add detailed determinism analysis result to VerifierOutputEvent.

SPI Changes#

  • Move AggregationNode to SPI. Connectors can now push down aggregation to table scan.

  • Move ProjectNode to SPI. Connectors can now push down projection to table scan.

  • Rename Block#getObject to Block#getBlock and remove unnecessary clazz parameter.