Extend stats and cost model to support row_number() window function estimates.
Improve the join type selection and the reordering of join sides for cases where
the join output size cannot be estimated.
Add dynamic scheduling support to grouped execution. When a stage is executed
with grouped execution and the stage has no remote sources, table partitions can be
scheduled to tasks in a dynamic way, which can help mitigating skew for queries using
grouped execution. This feature can be enabled with the
dynamic_schedule_for_grouped_execution session property or the
dynamic-schedule-for-grouped-execution config property.
Add support for UNIONALL to optimizer’s cost model.
Add support for estimating the cost of filters by using a default filter factor.
The default value for the filter factor can be configured with the default_filter_factor_enabled
session property or the optimizer.default-filter-factor-enabled.
Add input validation checks to ST_LineString() to conform with the specification.
Improve spatial join performance.
Enable spatial joins for join conditions expressed with the ST_Within() function.
Web UI Changes
Fix Capture Snapshot button for showing current thread stacks.
Fix dropdown for expanding stage skew component on the query details page.
Improve the performance of the thread snapshot component on the worker status page.
Make the reporting of Cumulative Memory usage consistent on the query list and query details pages.
Remove legacy thread UI.
Add predicate pushdown support for the DATE type to the Parquet reader. This change also fixes
a bug that may cause queries with predicates on DATE columns to fail with type mismatch errors.
Prevent printing the value of the redis.password configuration property to log files.