Skip to content

3.5.8

Choose a tag to compare

@yingtingdong yingtingdong released this 10 Nov 03:28
· 2809 commits to main since this release
88ffb18

Release date: November 10, 2025

Improvements

  • Upgraded Arrow to 19.0.1 to support the Parquet legacy list to include nested, complex files. #64238
  • FILES() supports legacy Parquet LIST encodings. #64160
  • Automatically determine the Partial Update mode based on the session variable and the number of inserted columns. #62091
  • Applied low-cardinality optimization on analytic operators above table functions. #63378
  • Added configurable table lock timeout to finishTransaction to avoid blocking. #63981
  • Shared-data clusters support table-level scan metrics attribution. #62832
  • Window functions LEAD/LAG/FIRST_VALUE/LAST_VALUE now accept ARRAY type arguments. #63547
  • Supports constant folding for several array functions to improve predicate pushdown and join simplification. #63692
  • Supports batched API to optimize tabletNum retrieval for a given node via SHOW PROC /backends/{id}. Added an FE configuration item enable_collect_tablet_num_in_show_proc_backend_disk_path (Default: true). #64013
  • Ensured INSERT ... SELECT reads the freshest metadata by refreshing external tables before planning. #64026
  • Added capacity_limit_reached checks to table functions, NL-join probe, and hash-join probe to avoid constructing overflowing columns. #64009
  • Added FE configuration item collect_stats_io_tasks_per_connector_operator (Default: 4) for setting the maximum number of tasks to collect statistics for external tables. #64016
  • Updated the default partition size for sample collection from 1000 to 300. #64022
  • Increased lock table slots to 256 and added rid to slow-lock logs. #63945
  • Improved robustness of Gson deserialization in the presence of legacy data. #63555
  • Reduced metadata lock scope for FILES() schema pushdown to cut lock contention and planning latency. #63796
  • Added Task Run execute timeout checker by introducing an FE configuration item task_runs_timeout_second, and refined cancellation logics for overdue runs. #63842
  • Ensured REFRESH MATERIALIZED VIEW ... FORCE always refreshes target partitions (even in inconsistent or corrupted cases). #63844

Bug Fixes

The following issues have been fixed:

  • An exception when parsing the Nullable (Decimal) type of ClickHouse. #64195
  • An issue with tablet migration and Primary Key index lookup concurrency. #64164
  • Lack of FINISHED status in materialized view refresh. #64191
  • Schema Change Publish does not retry in shared-data clusters. #64093
  • Wrong row count statistics on Primary Key tables in Data Lake. #64007
  • When tablet creation times out in shared-data clusters, node information cannot be returned. #63963
  • Corrupted Lake DataCache cannot be cleared. #63182
  • Window function with IGNORE NULLS flags can not be consolidated with its counterpart without iIGNORE NULLS flag. #63958
  • Table compaction cannot be scheduled again after FE restart if the compaction was previously aborted. #63881
  • Tasks fail to be scheduled if FE restarts frequently. #63966
  • An issue with GCS error codes. #64066
  • Instability issue with StarMgr gRPC executor. #63828
  • Deadlock when creating an exclusive work group. #63893
  • Cache for Iceberg tables is not properly invalidated. #63971
  • Wrong results for sorted aggregation in shared-data clusters. #63849
  • ASAN error in PartitionedSpillerWriter::_remove_partition. #63903
  • BE crash when failing to get splits from morsel queue. #62753
  • A bug with aggregate push-down type cast in materialized view rewrite. #63875
  • NPE when removing expired load jobs in FE. #63820
  • Partitioned Spill crash when removing partitions. #63825
  • Materialized view rewrite throws IllegalStateException under certain plans. #63655
  • NPE when creating a partitioned materialized view. #63830