Release 0.213#
General#
- Fix split scheduling backpressure when plan contains colocated join. Previously, splits for the second and subsequent scan nodes (in scheduling order) were scheduled continuously until completion, rather than pausing due to sufficient pending splits. 
- Fix query execution failure or indefinite hang during grouped execution when all splits for any lifespan are completely filtered out. 
- Fix grouped execution to respect the configured concurrent lifespans per task. Previously, it always used a single lifespan per task. 
- Fix execution failure when using grouped execution with right or full outer joins where the right side is not partitioned on the join key. 
- Fix a scenario where too many rows are returned to clients in a single response. 
- Do not allow setting invalid property values with SET SESSION. 
- Disable stats calculator by default as it can cause a planning failure for certain complex queries. It can be enabled with the - experimental.enable-stats-calculatorconfiguration property or the- enable_stats_calculatorsession property.
- Avoid making guesses when estimating filters for joins. Previously, if nothing was known about the filter, a - 0.9coefficient was applied as a filter factor. Now, if nothing is known about a filter, the estimate will be unknown. A- 0.9coefficient will be applied for all additional conjuncts if at least a single conjunct can be reasonably estimated.
- Improve inference of predicates for inner joins. 
- Improve - EXPLAIN ANALYZEoutput by adding CPU time and enhancing accuracy of CPU fraction.
- Include stats and cost estimates in textual plans created on query completion. 
- Enhance - SHOW STATSto support- INand- BETWEENpredicates in the- WHEREcondition of the- SELECTclause.
- Remove transaction from explain plan for indexes joins. 
- Add - max_drivers_per_tasksession property, allowing users to limit concurrency by specifying a number lower than the system configured maximum. This can cause the query to run slower and consume less resources.
- Add - join-max-broadcast-table-sizeconfiguration property and- join_max_broadcast_table_sizesession property to control the maximum estimated size of a table that can be broadcast when using- AUTOMATICjoin distribution type (#11667).
- Add experimental config option - experimental.reserved-pool-enabledto disable the reserved memory pool.
- Add - targetResultSizequery parameter to- /v1/statementendpoint to control response data size.
Geospatial#
- Fix - ST_Distance()function to return- NULLif any of the inputs is an empty geometry as required by the SQL/MM specification.
- Add - ST_MultiPoint()function to construct multi-point geometry from an array of points.
- Add - geometry_union()function to efficiently union arrays of geometries.
- Add support for distributed spatial joins (#11072). 
Server RPM#
- Allow running on a JVM from any vendor. 
Web UI#
- Remove legacy plan UI. 
- Add support for filtering queries by all error categories. 
- Add dialog to show errors refreshing data from coordinator. 
- Change worker thread list to not show thread stacks by default to improve page peformance. 
Hive connector#
- Fix LZO and LZOP decompression to work with certain data compressed by Hadoop. 
- Fix ORC writer validation percentage so that zero does not result in 100% validation. 
- Fix potential out-of-bounds read for ZSTD on corrupted input. 
- Stop assuming no distinct values when column null fraction statistic is less than - 1.0.
- Treat - -1as an absent null count for compatibility with statistics written by Impala.
- Preserve original exception for metastore network errors. 
- Preserve exceptions from Avro deserializer 
- Categorize text line length exceeded error. 
- Remove the old Parquet reader. The - hive.parquet-optimized-reader.enabledconfiguration property and- parquet_optimized_reader_enabledsession property no longer exist.
- Remove the - hive.parquet-predicate-pushdown.enabledconfiguration property and- parquet_predicate_pushdown_enabledsession property. Pushdown is always enabled now in the Parquet reader.
- Enable optimized ORC writer by default. It can be disabled using the - hive.orc.optimized-writer.enabledconfiguration property or the- orc_optimized_writer_enabledsession property.
- Use ORC file format as the default for new tables or partitions. 
- Add support for Avro tables where the Avro schema URL is an HDFS location. 
- Add - hive.parquet.writer.block-sizeand- hive.parquet.writer.page-sizeconfiguration properties and- parquet_writer_block_sizeand- parquet_writer_page_sizesession properties for tuning Parquet writer options.
Memory connector#
- Improve table data size accounting. 
Thrift connector#
- Include constraint in explain plan for index joins. 
- Improve readability of columns, tables, layouts, and indexes in explain plans. 
Verifier#
- Rewrite queries in parallel when shadowing writes.