Skip to content

Releases: StarRocks/starrocks

4.0.3

25 Dec 20:16
fbcf73d

Choose a tag to compare

Release Date: December 25, 2025

Downgrade Notes

Before downgrading clusters from v4.0.3 to v3.5.0~v3.5.10, execute the following statement:

SET GLOBAL enable_rewrite_simple_agg_to_meta_scan=false;

Improvements

  • Supports ORDER BY clauses for STRUCT data types #66035
  • Supports creating Iceberg views with properties and displaying properties in the output of SHOW CREATE VIEW. #65938
  • Supports altering Iceberg table partition specs using ALTER TABLE ADD/DROP PARTITION COLUMN. #65922
  • Supports COUNT/SUM/AVG(DISTINCT) aggregation over framed windows (for example, ORDER BY/PARTITION BY) with optimization options. #65815
  • Optimized CSV parsing performance by using memchr for single-character delimiters. #63715
  • Added an optimizer rule to push down Partial TopN to the Pre-Aggregation phase to reduce network overhead. #61497
  • Enhanced Data Cache monitoring
    • Added new metrics for memory/disk quota and usage. #66168
    • Added Page Cache statistics to the api/datacache/stat HTTP endpoint. #66240
    • Added hit rate statistics for native tables. #66198
  • Optimized Sort and Aggregation operators to support rapid memory release in OOM scenarios. #66157
  • Added TableSchemaService in FE for shared-data clusters to allow CNs to fetch specific schemas on demand. #66142
  • Optimized Fast Schema Evolution to retain history schemas until all dependent ingestion jobs are finished. #65799
  • Enhanced filterPartitionsByTTL to properly handle NULL partition values to prevent all partitions from being filtered. #65923
  • Optimized FusedMultiDistinctState to clear the associated MemPool upon reset. #66073
  • Made ICEBERG_CATALOG_SECURITY property check case-insensitive in Iceberg REST Catalog. #66028
  • Added HTTP endpoint GET /service_id to retrieve StarOS Service ID in shared-data clusters. #65816
  • Replaced deprecated metadata.broker.list with bootstrap.servers in Kafka consumer configurations. #65437
  • Added FE configuration lake_enable_fullvacuum (Default: false) to allow disabling the Full Vacuum Daemon. #66685
  • Updated lz4 library to v1.10.0. #67080

Bug Fixes

The following issues have been fixed:

  • latest_cached_tablet_metadata could cause versions to be incorrectly skipped during batch Publish. #66558
  • Potential issues caused by ClusterSnapshot relative checks in CatalogRecycleBin when running in shared-nothing clusters. #66501
  • BE crash when writing complex data types (ARRAY/MAP/STRUCT) to Iceberg tables during Spill operations. #66209
  • Potential hang in Connector Chunk Sink when the writer's initialization or initial write fails. #65951
  • Connector Chunk Sink bug where PartitionChunkWriter initialization failure caused a null pointer dereference during close. #66097
  • Setting a non-existent system variable would silently succeed instead of reporting an error. #66022
  • Bundle metadata parsing failure when Data Cache is corrupted. #66021
  • MetaScan returned NULL instead of 0 for count columns when the result is empty. #66010
  • SHOW VERBOSE RESOURCE GROUP ALL displays NULL instead of default_mem_pool for resource groups created in earlier versions. #65982
  • A RuntimeException during query execution after disabling the flat_json table configuration. #65921
  • Type mismatch issue in shared-data clusters caused by rewriting min/max statistics to MetaScan after Schema Change. #65911
  • BE crash caused by ranking window optimization when PARTITION BY and ORDER BY are missing. #67093
  • Incorrect can_use_bf check when merging runtime filters, which could lead to wrong results or crashes. #67062
  • Pushing down runtime bitset filters into nested OR predicates causes incorrect results. #67061
  • Potential data race and data loss issues caused by write or flush operations after the DeltaWriter has finished. #66966
  • Execution error caused by mismatched nullable properties when rewriting simple aggregation to MetaScan. #67068
  • Incorrect row count calculation in the MetaScan rewrite rule. #66967
  • Versions might be incorrectly skipped during batch Publish due to inconsistent cached tablet metadata. #66575
  • Improper error handling for memory allocation failures in HyperLogLog operations. #66827

3.3.21

25 Dec 20:14
20149de

Choose a tag to compare

Release Date: December 25, 2025

Bug Fixes

The following issues have been fixed:

  • Logic errors when the trim function handles specific Unicode whitespace characters (for example, \u1680) and performance issues caused by reserved memory calculation. #66428 #66477
  • Foreign key constraints are lost after FE restart due to table loading order. #66474
  • Security vulnerabilities CVE-2025-66566 and CVE-2025-12183 in lz4-java, and potential crashes in upstream. #66453 #66362 #67075
  • Incorrect results when Join is used with window functions in Group Execution mode. #66441
  • System continues attempting to fetch metadata for a deleted warehouse, causing SHOW LOAD or SQL execution failures. #66436
  • PartitionColumnMinMaxRewriteRule optimization incorrectly returns an empty set instead of NULL when the Scan input for aggregation is fully filtered. #66356
  • Rowset IDs are not properly released when Rowset Commit or Compaction fails, preventing disk space reclamation. #66301
  • Missing scan statistics (for example, scanned rows/bytes) in audit logs when a high-selectivity filter causes the Scan to end early (EOS). #66280
  • BE continues to respond to heartbeats as Alive after entering the crash handling process (for example, SIGSEGV), causing the FE to continue dispatching queries and reporting errors #66212
  • BE crash caused by multiple calls to set_collector of the Runtime Filter due to Local TopN pushdown optimization. #66199
  • Load task failures caused by un-initialized rssid when column-mode Partial Update is used with Conditional Update. #66139
  • Race condition when submitting drivers in Colocate Execution Group, leading to BE crashes. #66099
  • MemoryScratchSinkOperator remains in a pending state and cannot be cancelled after RecordBatchQueue is closed (For example, triggered by SparkSQL Limit), causing queries to hang. #66041
  • Use-after-free issue caused by a race condition when accessing _num_pipelines in the ExecutionGroup countdown logic. #65940
  • Incorrect calculation logic for query error rate monitoring metrics (Internal/Analysis/Timeout error rate), resulting in negative values. #65891
  • Null Pointer Exception (NPE) caused by unset ConnectContext when executing tasks as an LDAP user. #65843
  • Performance issues where Filesystem Cache lookups for the same Key fail because object reference comparison is used instead of value comparison. #65823
  • Tablet-related files are not correctly cleaned up after a snapshot load failure due to incorrect status variable checking. #65709
  • Compression type and level configured in FE are not correctly propagated to BE or persisted during table creation or Schema Change, resulting in default compression settings. #65673
  • COM_STMT_EXECUTE has no audit logs by default, and Profile information is incorrectly merged into the Prepare stage. #65448
  • Delete Vector CRC32 check failures during cluster upgrade/downgrade scenarios due to version incompatibility. #65442
  • BE crash caused by improper handling of Nullable properties when UnionConstSourceOperator merges Union to Values. #65429
  • Concurrent load tasks fail during the Commit phase if the target tablet is dropped during an ALTER TABLE operation. #65396
  • Inaccurate error log information when authentication fails due to incorrect context setting if users are switched in the HTTP SQL interface. #65371
  • Statistics collection issues after INSERT OVERWRITE, including failure to collect statistics for temporary partitions and inaccurate row count statistics at transaction commit preventing collection trigger. #65327, #65298, #65225
  • HttpConnectContext related to SQL is not released in TCP connection reuse scenarios because subsequent non-SQL HTTP requests overwrite the context. #65203
  • Potential version loss caused by incomplete tablet loading when RocksDB iteration times out during BE startup metadata loading. #65146
  • BE crash caused by out-of-bounds access when processing compression parameters in the percentile_approx_weighted function. #64838
  • Missing Query Profile logs for queries forwarded from Follower to Leader. #64395
  • BE crash caused by lax size checks during LZ4 encoding of large string columns during spilling. #61495
  • MERGING-EXCHANGE operator crash caused by Ranking window function optimization generating an empty ORDER BY when there is no PARTITION BY and GROUP BY. #67081
  • Unstable results or errors in the Low Cardinality column rewrite logic due to dependence on the Set iteration order. #66724

3.5.10

15 Dec 08:08
9848c7f

Choose a tag to compare

Release date: December 15, 2025

Improvements

  • Supports dumping plan node IDs in BE crash logs to speed up locating problematic operators. #66454
  • Optimized scans on the system views in information_schema to reduce the overhead. #66200
  • Added two histogram metrics (slow_lock_held_time_ms and slow_lock_wait_time_ms) to provide better observability for slow lock scenarios and distinguish between long-held locks and high lock contention. #66027
  • Optimized replica lock handling in tablet report and clone flows by switching the lock from database level to table level, reducing lock contention and improving scheduling efficiency. #61939
  • Avoided outputting columns in BE storage, and pushed down predicate computation to BE storage. #60462
  • Improved query profile accuracy when deploying scan ranges in background threads. #62223
  • Improved profile accounting when deploying additional tasks, so CPU time is not repetitively counted. #62186
  • Added more detailed error messages when a referenced partition does not exist, making failures easier to diagnose. #65674
  • Made sample-type cardinality estimation more robust in corner cases to improve row-count estimates. #65599
  • Added a partition filter when loading statistics to prevent INSERT OVERWRITE from reading stale partition statistics. #65578
  • Splited pipeline CPU execution_time metrics into separate series for queries and loads, improving observability by workload type. #65535
  • Supported enable_statistic_collect_on_first_load at table granularity for finer-grained control over statistics collection on the first load. #65463
  • Renamed the S3-dependent unit test from PocoClientTest to an S3-specific name to better reflect its dependency and intent. #65524

Bug Fixes

The following issues have been fixed:

  • libhdfs crashes when StarRocks is started with an incompatible JDK. #65882
  • Incorrect query results caused by PartitionColumnMinMaxRewriteRule. #66356
  • Rewrite issues due to the materialized view metadata not refreshed when resolving materialized views by AST keys. #66472
  • The trim function crashes or produces wrong results when trimming specific Unicode whitespace characters. #66428, #66477
  • Failures in load metadata and SQL execution that still referenced a deleted warehouse. #66436
  • Wrong results when group execution Join is combined with window functions. #66441
  • A possible FE null pointer in resetDecommStatForSingleReplicaTabletUnlocked. #66034
  • Missing Join runtime filter pushdown optimization in shared-data clusters for LakeDataSource. #66354
  • Parameters are inconsistent for runtime filter transmit options (timeouts, HTTP RPC limits, etc.) because they are not forwarded to receivers. #66393
  • Automatic partition creation fails when partition values already exist. #66167
  • Inaccurate scan statistics in audit logs when predicates have high selectivity. #66280
  • Incorrect query results because non-deterministic functions are pushed below operators. #66323
  • Exponential growth in the number of expressions caused by CASE WHEN. #66324
  • Materialized view compensation bugs when the same table appears multiple times in a query with different partition predicates. #66369
  • BE becomes unresponsive when using fork in subprocesses. #66334
  • CVE-2025-66566 and CVE-2025-12183. #66453, #66362
  • Errors caused by nested CTE reuse. #65800
  • Issues due to the lack of validation on conflicting schema-change clauses. #66208
  • Improper rowset GC behavior when rowset commit fails. #66301
  • A potential use-after-free when counting down pipelines. #65940
  • The W``arehouse field is NULL in information_schema.loads for Stream Load. #66202
  • Issues with materialized view creation when the referenced view has the same name as its base table. #66274
  • The global dictionary is not updated correctly under some cases. #66194
  • Incorrect query profile logging for queries forwarded from Follower nodes. #64395
  • BE crash when caching SELECT results and reordering schema. #65850
  • Shadow partitions are dropped when dropping partitions by expression. #66171
  • DROP tasks run when a CLONE task exists for the same tablet. #65780
  • Stability and observability issues because RocksDB log file options were not properly set. #66166
  • Incorrect materialized view compensation that could produce NULL results. #66216
  • BE reported as alive even after receiving SIGSEGV. #66212
  • Bugs in Iceberg scans. #65658
  • Regression coverage and stability issues for Iceberg view SQL test cases. #66126
  • Unexpected behavior because set_collector is invoked repetitively. #66199
  • Ingestion failures when column-mode partial updates are used together with conditional updates. #66139
  • Temporary partition value conflicts under concurrent transactions. #66025
  • An Iceberg table cache bug where Guava LocalCache could retain stale entries even when cache.size() == 0, causing refresh to be ineffective and queries to return outdated tables. #65917
  • Incorrect format placeholder in LargeInPredicateException, causing the actual number of LargeInPredicate occurrences to be incorrectly reported in the error message. #66152
  • NullPointerException in ConnectScheduler’s timeout checker when connectContext is null. #66136
  • Crashes caused by unhandled exceptions thrown from threadpool tasks. #66114
  • Data loss when pushing down DISTINCT LIMIT in certain plans. #66109
  • multi_distinct_count not updating distinct_size after the underlying hash set is converted to a two-level hash set, which could lead to incorrect distinct counts. #65916
  • A race condition when an exec group submits the next driver which could trigger Check failed: !driver->is_in_blocked() and abort the BE process. #66099
  • INSERT failures when running ALTER TABLE ADD COLUMN with a default value concurrently with INSERT, due to mismatched types for the newly added column’s default expression. #65968
  • An issue where MemoryScratchSinkOperator could remain in pending_finish after RecordBatchQueue was shut down when SparkSQL exited early, causing the pipeline to hang. #66041
  • A core dump when reading Parquet files that contain empty row groups. #65928
  • Recursive calls and potential stack overflow at high DOP because the event scheduler’s readiness check is complicated. #66016
  • Asynchronous materialized view refresh skips updates when the Iceberg base table contains expired snapshots. #65969
  • Potential issues in predicate reuse and rewrite because the optimizer relies solely on hashCode to distinguish differences in predicates. [#65999](https://github.com/...
Read more

4.0.2

06 Dec 06:31
1f1aa9c

Choose a tag to compare

4.0.2

Release Date: December 4, 2025

New Features

  • Introduced a new resource group attribute, mem_pool, allowing multiple resource groups to share the same memory pool and enforce a joint memory limit for the pool. This feature is backward compatible. default_mem_pool is used if mem_pool is not specified. #64112

Improvements

  • Reduced remote storage access during Vacuum after File Bundling is enabled. #65793
  • The File Bundling feature caches the latest tablet metadata. #65640
  • Improved safety and stability for long-string scenarios. #65433 #65148
  • Optimized the SplitTopNAggregateRule logic to avoid performance regression. #65478
  • Applied the Iceberg/DeltaLake table statistics collection strategy to other external data sources to avoid collecting statistics when the table is a single table. #65430
  • Added Page Cache metrics to the Data Cache HTTP API api/datacache/app_stat. #65341
  • Supports ORC file splitting to enable parallel scanning of a single large ORC file. #65188
  • Added selectivity estimation for IF predicates in the optimizer. #64962
  • Supports constant evaluation of hour, minute, and second for DATE and DATETIME types in the FE. #64953
  • Enabled rewrite of simple aggregation to MetaScan by default. #64698
  • Improved multiple-replica assignment handling in shared-data clusters for enhanced reliability. #64245
  • Exposes cache hit ratio in audit logs and metrics. #63964
  • Estimates per-bucket distinct counts for histograms using HyperLogLog or sampling to provide more accurate NDV for predicates and joins. #58516
  • Supports FULL OUTER JOIN USING with SQL-standard semantics. #65122
  • Prints memory information when Optimizer times out for diagnostics. #65206

Bug Fixes

The following issues have been fixed:

  • DECIMAL56 mod-related issue. #65795
  • Issue related to Iceberg scan range handling. #65658
  • MetaScan rewrite issues on temporary partitions and random buckets. #65617
  • JsonPathRewriteRule uses the wrong table after transparent materialized view rewrite. #65597
  • Materialized view refresh failures when partition_retention_condition referenced generated columns. #65575
  • Iceberg min/max value typing issue. #65551
  • Issue with queries against information_schema.tables and views across different databases when enable_evaluate_schema_scan_rule is set to true. #65533
  • Integer overflow in JSON array comparison. #64981
  • MySQL Reader does not support SSL. #65291
  • ARM build issue caused by SVE build incompatibility. #65268
  • Queries based on bucket-aware execution may get stuck for bucketed Iceberg tables. #65261
  • Robust error propagation and memory safety issues for the lack of memory limit checks in OLAP table scan. #65131

Behavior Changes

  • When a materialized view is inactivated, the system recursively inactivates its dependent materialized views. #65317
  • Uses the original materialized view query SQL (including comments/formatting) when generating SHOW CREATE output. #64318

3.5.9

27 Nov 02:24
49d8fe2

Choose a tag to compare

Improvements

  • Added transaction latency metrics to FE for observing timing across transaction stages. #64948
  • Supports overwriting S3 unpartitioned Hive tables to simplify full-table rewrites in data lake scenarios. #65340
  • Introduced CacheOptions to provide finer-grained control over tablet metadata caching. #65222
  • Supports sample statistics collection for INSERT OVERWRITE to ensure statistics stay consistent with the latest data. #65363
  • Optimized the statistics collection strategy after INSERT OVERWRITE to avoid missing or incorrect statistics due to asynchronous tablet reports. #65327
  • Introduced a retention period for partitions dropped or replaced by INSERT OVERWRITE or materialized view refresh operations, keeping them in the recycle bin for a while to improve recoverability. #64779

Bug Fixes

The following issues have been fixed:

  • Lock contention and concurrency issues related to LocalMetastore.truncateTable(). #65191
  • Lock contention and replica check performance issues related to TabletChecker. #65312
  • Incorrect error logging when changing user via HTTP SQL. #65371
  • Checksum failures caused by DelVec CRC32 upgrade compatibility issues. #65442
  • Tablet metadata load failures caused by RocksDB iteration timeout. #65146
  • When the internal flat_path string is empty because the JSON hyper extraction path is $ or all paths are skipped, calling substr will throw an exception and cause BE crash. #65260
  • The PREPARED flag in fragment execution is not correctly set. #65423
  • Inaccurate write and flush metrics caused by duplicated load profile counters. #65252
  • When multiple HTTP requests reuse the same TCP connection, if a non‑ExecuteSQL request arrives after an ExecuteSQL request, the HttpConnectContext cannot be unregistered at channel close, causing HTTP context leaks. #65203
  • MySQL 8.0 schema introspection errors (Fixed by adding session variables default_authentication_plugin and authentication_policy). #65330
  • SHOW ANALYZE STATUS errors caused by unnecessary statistics collection for temporary partitions created after partition overwrite operations. #65298
  • Global Runtime Filter race in the Event Scheduler. #65200
  • Data Cache is aggressively disabled because the minimum Data Cache disk size constraint is too large. #64909
  • An aarch64 build issue related to the gold linker automatic fallback. #65156

3.4.9

24 Nov 10:27
fafa0ce

Choose a tag to compare

Release Date: November 24, 2025

Behavior Changes

  • Changed the return type of json_extract in the Trino dialect from STRING to JSON. This may cause incompatibility in CAST, UNNEST, and type check logic. #59718
  • The metric that reports “connections per user” under /metrics now requires admin authentication. Without authentication, only total connection counts are exposed, preventing information leakage of all usernames via metrics. #64635
  • Removed the deprecated system variable analyze_mv. Materialized view refresh no longer automatically triggers ANALYZE jobs, avoiding large numbers of background statistics tasks. This changes expectations for users relying on legacy behavior. #64863
  • Changed the overflow detection logic of casting from LARGEINT to DECIMAL128 on x86. INT128_MIN * 1 is no longer considered an overflow to ensure consistent casting semantics for extreme values. #63559
  • Added a configurable table-level lock timeout to finishTransaction. If a table lock cannot be acquired within the timeout, finishing the transaction will fail for this round and be retried later, rather than blocking indefinitely. The final result is unchanged, but the lock behavior is more explicit. #63981

Bug Fixes

The following issues have been fixed:

  • During BE start, if loading tablet metadata from RocksDB times out, RocksDB may restart loading from the beginning and accidentally pick up stale tablet entries, risking data version loss. #65146
  • Data corruption issues related to CRC32C checksum for delete-vectors of Lake Primary Key tables. #65006 #65354 #65442 #65354
  • When the internal flat_path string is empty because the JSON hyper extraction path is $ or all paths are skipped, calling substr will throw an exception and cause BE crash. #65260
  • When spilling large strings to disk, insufficient length checks, using 32‑bit attachment sizes, and issues in the BlockReader could cause crashes. #65373
  • When multiple HTTP requests reuse the same TCP connection, if a non‑ExecuteSQL request arrives after an ExecuteSQL request, the HttpConnectContext cannot be unregistered at channel close, causing HTTP context leaks. #65203
  • Primitive value loss issue under certain circumstances when JSON data is being flattened. #64939 #64703
  • Crash in ChunkAccumulator when chunks are appended with incompatible JSON schemas. #64894
  • In AsyncFlushOutputStream, asynchronous I/O tasks may attempt to access a destroyed MemTracker, resulting in use‑after‑free crashes. #64735
  • Concurrent Compaction tasks against the same Lake Primary Key table lack integrity checks, which could leave metadata in an inconsistent state after a failed publish. #65005
  • When spilling Hash Joins, if the build side’s set_finishing task failed, it only recorded the status in the spiller, allowing the Probe side to continue, and eventually causing a crash or an indefinite loop. #65027
  • During tablet migration, if the only newest replica is marked as DECOMMISSION, the version of the target replica is outdated and stuck at VERSION_INCOMPLETE. #62942
  • Use-after-free issue because the relevant Block Group is not released when PartitionedSpillerWriter is removing partitions. #63903 #63825
  • BE crash caused by MorselQueue's failure to get splits. #62753
  • In shared-data clusters, Sorted-by-key Scans with multiple I/O tasks could produce wrong results in sort-based aggregations. #63849
  • On ARM, reading Parquet columns for certain Hive external tables could crash in LZ4 conversion when copying NULL bitmaps because the destination null buffer pointer was stale due to out-of-order execution. #63294

3.3.20

18 Nov 03:51
bc0523a

Choose a tag to compare

3.3.20

Release Date: November 18, 2025

Bug Fixes

The following issues have been fixed:

  • CVE-2024-47561. #64193
  • CVE-2025-59419. #64142
  • Incorrect row count for lake Primary Key tables. #64007
  • Window function with IGNORE NULLS flags can not be consolidated with its counterpart without IGNORE NULLS flag. #63958
  • ASAN error in PartitionedSpillerWriter::_remove_partition. #63903
  • Wrong results for sorted aggregation in shared-data clusters. #63849
  • NPE when creating a partitioned materialized view. #63830
  • Partitioned Spill crash when removing partitions. #63825
  • NPE when removing expired load jobs in FE. #63820
  • A potential deadlock during initialization of ExceptionStackContext. #63776
  • Degraded scan performance caused by the profitless simplification of CASE WHEN with complex functions. #63732
  • Materialized view rewrite failures caused by type mismatch. #63659
  • Materialized view rewrite throws IllegalStateException under certain plans. #63655
  • LZ4 compression and decompression errors cannot be perceived. #63629
  • Stability issue caused by incorrect overflow detection when casting LARGEINT to DECIMAL128 at sign-edge cases (for example, INT128_MIN) #63559
  • date_trunc partition pruning with combined predicates that mistakenly produced EMPTYSET. #63464
  • Incomplete Left Join results caused by ARRAY low-cardinality optimization. #63419
  • An issue caused by the aggregate intermediate type uses ARRAY<NULL_TYPE>. #63371
  • Metadata inconsistency in partial updates based on auto-increment columns. #63370
  • Incompatible Bitmap index reuse for Fast Schema Evolution in shared-data clusters. #63315
  • Unnecessary CN deregistration during pod restart/upgrade. #63085
  • Profiles showing SQL as omit for returns of the PREPARE/EXECUTE statements. #62988

4.0.1

17 Nov 03:37
cd9df36

Choose a tag to compare

4.0.1

Release Date: November 17, 2025

Improvements

  • Optimized TaskRun session variable handling to process known variables only. #64150
  • Supports collecting statistics of Iceberg and Delta Lake tables from metadata by default. #64140
  • Supports collecting statistics of Iceberg tables with bucket and truncate partition transform. #64122
  • Supports inspecting FE /proc profile for debugging. #63954
  • Enhanced OAuth2 and JWT authentication support for Iceberg REST catalogs. #63882
  • Improved bundle tablet metadata validation and recovery handling. #63949
  • Improved scan-range memory estimation logic. #64158

Bug Fixes

The following issues have been fixed:

  • Transaction logs were deleted when publishing bundle tablets. #64030
  • The join algorithm cannot guarantee the sort property because, after joining, the sort property is not reset. #64086
  • Issues related to transparent materialized view rewrite. #63962

Behavior Changes

  • Added the property enable_iceberg_table_cache to Iceberg Catalogs to optionally disable Iceberg table cache and allow it always to read the latest data. #64082
  • Ensured INSERT ... SELECT reads the freshest metadata by refreshing external tables before planning. #64026
  • Increased lock table slots to 256 and added rid to slow-lock logs. #63945
  • Temporarily disabled shared_scan due to incompatibility with event-based scheduling. #63543
  • Changed the default Hive Catalog cache TTL to 24 hours and removed unused parameters. #63459
  • Automatically determine the Partial Update mode based on the session variable and the number of inserted columns. #62091

3.5.8

10 Nov 03:28
88ffb18

Choose a tag to compare

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

3.5.7

21 Oct 08:27
d2da301

Choose a tag to compare

Improvements

  • Improved memory statistics accuracy for Scan operators by introducing retry backoff under heavy memory contention scenarios. #63788
  • Optimized materialized view bucketing inference by leveraging existing tablet distribution to prevent excessive bucket creation. #63367
  • Revised the Iceberg table caching mechanism to enhance consistency and reduce cache invalidation risks during frequent metadata updates. #63388
  • Added the querySource field to QueryDetail and AuditEvent for better traceability of query origins across APIs and schedulers. #63480
  • Enhanced Persistent Index diagnostics by printing detailed context when duplicate keys are detected in MemTable writes. #63560
  • Reduced lock contention in materialized view operations by refining lock granularity and sequencing in concurrent scenarios. #63481

Bug Fixes

The following issues have been fixed:

  • Materialized view rewrite failures caused by type mismatch. #63659
  • regexp_extract_all has wrong behavior and lacks support for pos=0. #63626
  • Degraded scan performance caused by the profitless simplification of CASE WHEN with complex functions. #63732
  • Incorrect DCG data reading when partial updates switch from column mode to row mode. #61529
  • A potential deadlock during initialization of ExceptionStackContext. #63776
  • Crashes in Parquet numeric conversion for ARM architecture machines. #63294
  • An issue caused by the aggregate intermediate type uses ARRAY<NULL_TYPE>. #63371
  • Stability issue caused by incorrect overflow detection when casting LARGEINT to DECIMAL128 at sign-edge cases (for example, INT128_MIN) #63559
  • LZ4 compression and decompression errors cannot be perceived. #63629
  • ClassCastException when querying tables partitioned by FROM_UNIXTIME on INT-type columns. #63684
  • Tablets cannot be repaired after a balance-triggered migration when the only valid source replica is marked DECOMMISSION. #62942
  • Profiles lost SQL statements and Planner Trace when the PREPARE statement is used. #63519
  • The extract_number, extract_bool, and extract_string functions are not exception-safe. #63575
  • Shutdown tablets cannot be garbage-collected properly. #63595
  • Profiles showing SQL as omit for returns of the PREPARE/EXECUTE statements. #62988
  • date_trunc partition pruning with combined predicates that mistakenly produced EMPTYSET. #63464
  • Crashes in release builds due to the CHECK in NullableColumn. #63553