Release 0.192
General Changes
- Fix performance regression in split scheduling introduced in 0.191. If a query scans a non-trivial number of splits (~1M splits in an hour), the coordinator CPU utilization can be very high, leading to elevated communication failures.
- Fix correctness issue in the geometry_to_bing_tiles() function that causes it to return irrelevant tiles when bottom or right side of the bounding box of the geometry is aligned with the tile border.
- Fix handling of invalid WKT (well-known text) input in geospatial functions.
- Fix an issue that can cause long-running queries to hang when writer scaling is enabled.
- Fix cast from
REALorDOUBLEtoDECIMALto conform to the SQL standard. For example, previouslycast (double '100000000000000000000000000000000' as decimal(38))would return100000000000000005366162204393472. Now it returns100000000000000000000000000000000. - Fix bug in validation of resource groups that prevented use of the
WEIGHTED_FAIRpolicy. - Fail queries properly when the coordinator fails to fetch data from workers. Previously, it would return an HTTP 500 error to the client.
- Improve memory tracking for queries involving
DISTINCTor row_number() that could cause over-committing memory resources for short time periods. - Improve performance for queries involving
grouping(). - Improve buffer utilization calculation for writer scaling.
- Remove tracking of per-driver peak memory reservation.
- Add
resource-groups.max-refresh-intervalconfig option to limit the maximum acceptable staleness of resource group configuration. - Remove
dictionary-processing-joins-enabledconfiguration option anddictionary_processing_joinsession property.
Web UI Changes
- Fix incorrect reporting of input size and positions in live plan view.
CLI Changes
- Fix update of prompt after
USEstatement. - Fix correctness issue when rendering arrays of Bing tiles that causes the first entry to be repeated multiple times.
Hive Changes
- Fix reading partitioned table statistics from newer Hive metastores.
- Do not treat file system errors as corruptions for ORC.
- Prevent reads from tables or partitions with
object_not_readableattribute set. - Add support for validating ORC files after they have been written. This behavior can be turned on via the
hive.orc.writer.validateconfiguration property. - Expose ORC writer statistics via JMX.
- Add configuration options to control ORC writer min/max rows per stripe and row group, maximum stripe size, and memory limit for dictionaries.
- Allow reading empty ORC files.
- Handle ViewFs when checking file system cache expiration.
- Improve error reporting when the target table of an insert query is dropped.
- Remove retry when creating Hive record reader. This can help queries fail faster.
MySQL Changes
- Remove support for
TIME WITH TIME ZONEandTIMESTAMP WITH TIME ZONEtypes due to MySQL types not being able to store timezone information. - Add support for
REALtype, which maps to MySQL’sFLOATtype.
PostgreSQL Changes
- Add support for
VARBINARYtype, which maps to PostgreSQL’sBYTEAtype.
MongoDB Changes
- Fix support for pushing down inequality operators for string types.
- Add support for reading documents as
MAPvalues. - Add support for MongoDB’s
Decimal128type. - Treat document and array of documents as
JSONinstead ofVARCHAR.
JMX Changes
- Allow nulls in history table values.
SPI Changes
- Remove
SliceArrayBlockclass. - Add
offsetandlengthparameters toBlock.getPositions().
