11.9. Release 0.221

    • Fix error during stats collection phase of query planning.
    • Fix a performance regression for some outer joins without equality predicates when is set to AUTOMATIC.
    • Add a variant of strpos() that returns the position of the N-th instance of the substring.
    • Add that returns the position of the N-th instance of a substring from the back of a string.
    • Add aggregation function entropy().
    • Add classification aggregation functions , classification_precision(),, classification_thresholds().
    • Add overload of which takes in the maximum standard error.
    • Add max_tasks_per_stage session property and stage.max-tasks-per-stage config property tolimit the number of tasks per stage for grouped execution. Setting this session property allows queriesrunning with grouped execution to use a predictable amount of memory independent of the cluster size.
    • Add encryption for spill files (see Spill to Disk).
    • Revert the change introduced in 0.219 to rebalance bucket assignment after restartingthe cluster. Automatic rebalancing can cause unexpected downtime when restarting the clusterto resolve emergent issues.
    • Improve coordinator memory utilization for Hive splits.
    • Improve performance of writing large ORC files.
    • Add for createPageSink in PageSinkProvider andConnectorPageSinkProvider. It contains a boolean partitionCommitRequired, which isfalse by default. See the note below about commitPartition for more information.
    • Add commitPartition to Metadata and ConnectorMetadata. This SPI is coupled withPageSinkProperties#partitionCommitRequired and is used by the engine to commit a partition of data to the targetconnector. The connector that implements this SPI should ensure that if PageSinkProperties#isPartitionCommitRequiredis true in ConnectorPageSinkProvider#createPageSink, the written data is not published untilConnectorMetadata#commitPartition is called. Also, it is expected for the connector to add in Connector#getCapabilities.
    • Add ExpressionOptimizer in RowExpressionService. ExpressionOptimizer simplifies a RowExpressionand prunes redundant part of it.
    • Add pushNegationToLeaves method to LogicalRowExpressions to push negation down below conjunction or disjunctionfor a logical expression.