4.0.5
Release Date: February 3, 2026
Improvements
- Bumped Paimon version to 1.3.1. #67098
- Restored missing optimizations in DP statistics estimation to reduce redundant calculations. #67852
- Improved pruning in DP Join reorder to skip expensive candidate plans earlier. #67828
- Optimized JoinReorderDP partition enumeration to reduce object allocation and added an atom count cap (≤ 62). #67643
- Optimized DP join reorder pruning and added checks to BitSet to reduce stream operation overhead. #67644
- Skipped predicate column statistics collection during DP statistics estimation to reduce CPU overhead. #67663
- Optimized correlated Join row count estimation to avoid repeatedly building
Statisticsobjects. #67773 - Reduced memory allocations in
Statistics.getUsedColumns. #67786 - Avoided redundant
Statisticsmap copies when only row counts are updated. #67777 - Skipped aggregate pushdown logic when no aggregation exists in the query to reduce overhead. #67603
- Improved COUNT DISTINCT over windows, added support for fused multi-distinct aggregations, and optimized CTE generation. #67453
- Supports
map_aggfunction in the Trino dialect. #66673 - Supports batching retrieval of LakeTablet location information during physical planning to reduce RPC calls in shared-data clusters. #67325
- Added a thread pool for Publish Version transactions to shared-nothing clusters to improve concurrency. #67797
- Optimized LocalMetastore locking granularity by replacing database-level locks with table-level locks. #67658
- Refactored MergeCommitTask lifecycle management and added support for task cancellation. #67425
- Supports intervals for automated cluster snapshots. #67525
- Automatically cleaned up unused
mem_poolentries in MemTrackerManager. #67347 - Ignored
information_schemaqueries during warehouse idle checks. #67958 - Supports dynamically enabling global shuffle for Iceberg table sinks based on data distribution. #67442
- Added Profile metrics for connector sink modules. #67761
- Improved the collection and display of load spill metrics in Profiles, distinguishing between local and remote I/O. #67527
- Changed Async-Profiler log level to Error to avoid repeating warning logs. #67297
- Notified Starlet during BE shutdown to report SHUTDOWN status to StarMgr. #67461
Bug Fixes
The following issues have been fixed:
- Lacking support for legal simple paths containing hyphens (
-). #67988 - Runtime error when aggregate pushdown occurred on grouping keys involving JSON types. #68142
- Issue where JSON path rewrite rules incorrectly pruned partition columns referenced in partition predicates. #67986
- Type mismatch issue when rewriting simple aggregation using statistics. #67829
- Potential heap-buffer-overflow in partition Joins. #67435
- Duplicate
slot_idsintroduced when pushing down heavy expressions. #67477 - Division-by-zero error in ExecutionDAG fragment connection for lacking precondition checks. #67918
- Potential issues caused by fragment parallel prepare for single BE. #67798
- Operator terminates incorrectly for lacking
set_finishedmethod for RawValuesSourceOperator. #67609 - BE crash caused by unsupported DECIMAL256 type (precision > 38) in column aggregators. #68134
- Shared-data clusters lack support for Fast Schema Evolution v2 over DELETE operations by carrying
schema_keyin requests. #67456 - Shared-data clusters lack support for Fast Schema Evolution v2 over synchronous materialized views and traditional schema changes. #67443
- Vacuum might accidentally delete files when file bundling is disabled during FE downgrade. #67849
- Incorrect graceful exit handling in MySQLReadListener. #67917