Skip to content

Releases: StarRocks/starrocks

4.0.8

Choose a tag to compare

@wangsimo0 wangsimo0 released this 26 Mar 01:20
2090bfc

4.0.8

Release Date: March 25, 2026

Behavior Changes

  • Improved sql_mode handling: when DIVISION_BY_ZERO or FAIL_PARSE_DATE mode is set, division by zero and date parse failures in str_to_date/str2date now return an error instead of being silently ignored. #70004
  • When sql_mode is set to FORBID_INVALID_DATE, invalid dates in INSERT VALUES clauses are now correctly rejected instead of being bypassed. #69803
  • Expression partition generated columns are now hidden from DESC and SHOW CREATE TABLE output. #69793
  • Client ID is no longer included in audit logs. #69383

Improvements

  • Added a configuration item local_exchange_buffer_mem_limit_per_driver to limit the local exchange buffer size to dop * local_exchange_buffer_mem_limit_per_driver. #70393
  • Cached file existence check results across versions in check_missing_files to reduce redundant storage I/O. #70364
  • Allowed disabling split and reverse scan ranges for descending TopN runtime filters when desc_hint_split_range is set to ≤ 0. #70307
  • Added EXPLAIN and EXPLAIN ANALYZE support for INSERT statements in the Trino dialect. #70174
  • Optimized Iceberg read performance when position deletes are present. #69717
  • Optimized materialized view best-selector strategy based on distributed keys to improve materialized view selection accuracy. #69679

Bug Fixes

The following issues have been fixed:

  • JDBC MySQL pushdown failing for unsupported cast operations. #70415
  • Type mismatch issues in materialized view refresh. Added mv_refresh_force_partition_type configuration to force partition type in materialized view refresh. #70381
  • dataVersion not set correctly when restoring from backup. #70373
  • Duplicated partition names in materialized view refresh tasks. #70354
  • Incorrect SLF4J parameterized logging using string concatenation instead of placeholder arguments. #70330
  • Comment not set when creating Hive tables. #70318
  • FileSystemExpirationChecker blocking on slow HDFS close operations. #70311
  • Distribute column validation not applied across different partitions in OlapTableSink. #70310
  • Constant folding producing INF instead of an error when double addition overflows. #70309
  • Typo in Iceberg table creation: field common was used instead of comment. #70267
  • Root user not bypassing all Ranger permission checks in some scenarios. #70254
  • query_pool memory tracker going negative during data ingestion. #70228
  • AuditEventProcessor thread exiting due to OutOfMemoryException. #70206
  • SplitTopNRule not applying partition pruning correctly. #70154
  • Out-of-bounds access in cal_new_base_version during schema change publish. #70132
  • Materialied view rewrite ignoring dropped partitions from the base table. #70130
  • Unexpected partition predicate pruning due to type mismatch in boundary comparisons. #70097
  • str_to_date losing microsecond precision in BE runtime. #70068
  • Join spill process crashing in set_callback_function. #70030
  • Broker Load failing GCS authentication after gcs-connector upgrade to version 3.0.13. #70012
  • DCHECK failure in DeltaWriter::close() when called from a bthread context. #69960
  • Use-after-free race condition in AsyncDeltaWriter close/finish lifecycle. #69940
  • Race condition causing write transaction edit log entry to be missed. #69899
  • Known CVE vulnerabilities. #69863
  • Follower FE not waiting for journal replay in changeCatalogDb. #69834
  • Incorrect LIKE pattern matching with backslash escape sequences. #69775
  • Expression analysis failure after renaming a partition column. #69771
  • Use-after-free crash in AsyncDeltaWriter::close. #69770
  • Crash in local partition TopN execution. #69752
  • Incorrect behavior in PartitionColumnMinMaxRewriteRule caused by Partition.hasStorageData. #69751
  • Duplicated CSV compression suffix in file sink output filenames. #69749
  • lake_capture_tablet_and_rowsets not gated behind an experimental configuration flag. #69748
  • Incorrect partition min pruning with shadow partitions. #69641
  • Java UDTF/UDAF crashing when method parameters use generic types. #69197
  • Per-query metadata not released after query planning, causing FE OOM during concurrent query execution. #68444
  • Query-scope warehouse hint leaking ComputeResource in ConnectContext. #70706
  • Lock-free materialized view rewrite incorrectly falling back to live metadata. #70475
  • Duplicate closure reference in _tablet_multi_get_rpc. #70657
  • Infinite recursion in ReplaceColumnRefRewriter. #66974
  • NOT NULL constraint incorrectly pushed down to FILES() table function schema. #70621
  • num_short_key_columns mismatch in partial tablet schema. #70586
  • COLUMN_UPSERT_MODE checksum error in shared-data clusters. #65320
  • Column type mismatch for __iceberg_transform_bucket. #70443
  • Starlet configuration items not taking effect. #70482
  • DCG data not read correctly when switching from column mode to row mode in partial update. #61529

3.5.14

Choose a tag to compare

@yingtingdong yingtingdong released this 05 Mar 09:18
23a56ec

3.5.14

Release Date: March 5, 2026

Improvements

  • Added SST read/write failure metrics for Primary Key index in Lake tables. #69513
  • Added a counter metric for "segment file not found" errors. #69543
  • Extracted range predicates from scalar-subquery containing convert_tz. #69055
  • Supports complex type for Paimon tables. #66784
  • Deferred remote load Spill Directory removal. #68803
  • Supports repairing cloud-native tables. #67108
  • Supports inserting ARRAY type to Hive table in CSV format. #67355

Bug Fixes

The following issues have been fixed:

  • Unexpected behavior caused by exceptions of RowGroupWriter. #69568
  • Sort key not including newly added key columns after schema change on Aggregate Key/Unique Key tables. #69529
  • Mertic value g_publish_version_failed_tasks does not reflect the real situation during the resource_busy state. #69526
  • Rowset files are removed when moving Primary Key tablets to trash. #69438
  • Lock leak in addPartitions caused by name-based table lookup after concurrent SWAP. #69284
  • isInternalCancelError used equals instead of startsWith. #69523
  • Pipeline blocks or crashes when _writer->Close() throws an exception other than ParquetStatusException. #69492
  • A Hadoop-client lib bug. #69503
  • Success is mistakenly returned while write operations fails. #69473
  • CVE-2025-67721. #69138
  • Issue with RuntimeFilter with low-cardinality optimization in share-data clusters. #64669
  • Materialized view tablet meta inconsistency between FE leader and follower. #69428
  • Rollup handler's active transaction ID was not considered in computeMinActiveTxnId. #69285
  • Arrow Flight Proxy issue with multiple FE. #68300
  • Concurrency bug of function field. #69315
  • DROP FUNCTION IF EXISTS ignored ifExists flag. #69216
  • Lacking case-insensitive username normalization for LDAP authentication. #67966
  • Certain kinds of partitions cannot be written. #68221
  • Projection loss in materialized view rewrite due to shared mutable state. #69063
  • Issue with case-insensitive partition lookup in query table copy. #69173
  • All-null value handling bug in synchronous materialized views. #69136
  • mv onReload issues when visiting external catalogs. #68926
  • DISTINCT ORDER BY alias issues for duplicated constants. #69014
  • Incorrect query results after modifying CHAR column length in shared-data clusters. #68808
  • Issue with Azure ABFS/WASB FileSystem cache key. #68901
  • Incorrect predicate rewrite for OUTER JOIN with constant-side column reference. #67072
  • IllegalArgumentException comparator transitivity violation. #68743
  • Issue caused by the query lifetime being shorter than the fragment in report_fragment. #67219
  • Low-cardinality rewrite NPE caused by shared DecodeInfo. #68799
  • Missing pcu_upt_cnt metric. #68845
  • JSON-flatten array/object conflict on identical paths. #68804
  • ClonExpr nullable bug. #68800

4.0.6

Choose a tag to compare

@wangsimo0 wangsimo0 released this 16 Feb 12:54
45fdede

4.0.6

Release Date: February 16, 2026

Improvements

  • Support Partition Transforms with parentheses when creating Iceberg tables (for example, PARTITION BY (bucket(k1, 3))). #68945
  • Removed the restriction that partition columns in Iceberg tables must be at the end of the column list; they can now be defined at any position. #68340
  • Introduced host-level sorting for Iceberg table sink, controlled by the system variable connector_sink_sort_scope (Default: FILE), to organize data layout for better read performance. #68121
  • Improved error messages for Iceberg partition transform functions (for example, bucket, truncate) when the argument count is incorrect. #68349
  • Refactored table property handling to improve support for different file formats (ORC/Parquet) and compression codecs in Iceberg tables. #68588
  • Added table-level query timeout configuration table_query_timeout for fine-grained control (Priority: Session > Table > Cluster). #67547
  • Supports the ADMIN SHOW AUTOMATED CLUSTER SNAPSHOT statement to view automated snapshot status and schedule. #68455
  • Supports displaying the original user-defined SQL with comments in SHOW CREATE VIEW. #68040
  • Exposed Merge Commit-enabled Stream Load tasks in information_schema.loads for better observability. #67879
  • Introduced FE memory estimation utility API /api/memory_usage. #68287
  • Reduced unnecessary logging in CatalogRecycleBin during partition recycling. #68533
  • Triggered refresh of related asynchronous materialized views when the base table undergoes Swap/Drop/Replace Partition operations. #68430
  • Supports VARBINARY type for count distinct-like aggregate functions. #68442
  • Enhanced expression statistics to propagate histogram MCV for semantics-safe expressions (for example, cast(k as bigint) + 10) to improve skew detection. #68292

Bug Fixes

The following issues have been fixed:

  • Potential crashes in Skew Join V2 runtime filters. #67611
  • Join predicate type mismatch (for example, INT = VARCHAR) caused by low-cardinality rewriting. #68568
  • Issues in query queue allocation time and pending timeout logic. #65802
  • unique_id conflict for Flat JSON extended columns after schema changes. #68279
  • Concurrent partition access issues in OlapTableSink.complete(). #68853
  • Incorrect metadata tracking when restoring manually downloaded cluster snapshots. #68368
  • Double slashes in backup paths when the repository location ends with /. #68764
  • OBS AK/SK credentials in the SHOW CREATE CATALOG output were not masked. #65462

3.5.13

Choose a tag to compare

@yingtingdong yingtingdong released this 13 Feb 01:29
dca7c0a

3.5.13

Release Date: February 13, 2026

Improvements

  • Added an FE configuration enable_table_metrics_collect to control the collection of table-level metrics. #68691
  • Supports setting the default Warehouse for Merge Commit at user level. #68616

Bug fixes

The following issues have been fixed:

  • Issue with source partition checking in replication transactions. #68883
  • Used labels were not identified when labels were specified in BEGIN TRANSACTION. #68660
  • JOIN ON clause bug with CTE scope. #68809
  • Overlapping range partitions can be created when an explicit lower bound is provided. #68255
  • Incorrect parser logic when SQL dialect downgrades from Trino to StarRocks. #68725
  • Issue with pruning projection columns. #68242
  • Issue with subquery scope check. #68415
  • Unmatched type cast in the function analyzer. #66749
  • Incorrect candidate materialized view selection logic. #68571
  • The Thrift accept thread exits on exception. #68644
  • Inaccurate Iceberg data file size estimation. #68787
  • Lake table memory leak issue. #68678
  • Deadlock when the HMS connection pool is full. #68033
  • Iceberg delete column nullability issue. #68649
  • Materialized views hold large external tables. #68171
  • Iceberg table cache memory limit issue. #67769
  • Wrong timeout parameter is used for PocoHttpClient. #68765
  • BE compile failure with Clang. #68805
  • Materialized view was reloaded multiple times during startup. #62351
  • CVE-2025-27821. #68529
  • Variadic functions return incorrect date values in certain scenarios. #67947

3.3.22

Choose a tag to compare

@wangsimo0 wangsimo0 released this 27 Jan 17:43
753696f

3.3.22

Release Date: January 27, 2026

Bug Fixes

The following issues have been fixed:

  • CVE-2025-27818. #67335
  • SIGSEGV crash in CN when querying non-partitioned Iceberg tables with DATE/TIME predicates on ARM64/Graviton architectures. #66864
  • Deadlock caused by lock ordering issues when closing LocalTabletsChannel and LakeTabletsChannel. #66748
  • Potential BE crash when executing CACHE SELECT queries with filter conditions. #67375
  • Issue where the Multicast Sink Operator could get stuck in the OUTPUT_FULL state if an upstream operator (for example, LIMIT) finished early, causing the query to hang. #67153
  • Potential Segfault caused by failure to invalidate cache pointers when ObjectColumn is resized or moved. #66957
  • Potential errors or OOM issues when Java UDFs handle Nullable columns containing all NULLs. #67025
  • BE crash caused by the optimization logic of Ranking Window Functions when PARTITION BY and ORDER BY are missing. #67081
  • Incorrect result issue where COUNT(DISTINCT) was not correctly rewritten to multi_distinct_count when queried alongside non-distinct aggregations (like SUM) on a single-bucket table. #66767
  • Incorrect results when regexp_replace processes multiple rows with enable_hyperscan_vec enabled. #67380
  • Potential incorrect results with Sorted Streaming Aggregate in shared-data mode. #67376
  • Query failure where the optimizer generated access paths using the old column name after the column was renamed. #67533
  • Incorrect Bitmap column type propagation in the rewrite rule from bitmap_to_array to unnest_bitmap. #66855
  • Dependency derivation error in Low Cardinality optimization logic by adopting the Union-Find algorithm to correctly handle column relationships. #66724
  • "Compute node not found" error in Short-circuit Read under shared-data clusters by adding a fallback mechanism to non-short-circuit mode. #67323
  • "Version not found" error during Replication publishing caused by FE Replicas not updating the minimum readable version. #67538
  • Logic error in physical partition comparison during replication transactions to ensure deterministic comparison using ID order. #67616
  • Inaccurate statistics for counters like scan rows in Cloud Native Tables. #67307
  • Issue where expired Tablets were not cleaned up from the scheduler, causing the scheduling queue to pile up. #66718
  • Inaccurate SQL statements displayed in the Profile when multiple statements are submitted. #67097
  • Issue where the transaction ID was empty in publish_version logs in the new FE. #66732
  • Performance issue caused by unnecessary Protobuf message copying after set_allocated. #67844

4.0.5

Choose a tag to compare

@wangsimo0 wangsimo0 released this 04 Feb 00:03
000efef

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 Statistics objects. #67773
  • Reduced memory allocations in Statistics.getUsedColumns. #67786
  • Avoided redundant Statistics map 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_agg function 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_pool entries in MemTrackerManager. #67347
  • Ignored information_schema queries 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_ids introduced 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_finished method 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_key in 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

3.5.12

Choose a tag to compare

@yingtingdong yingtingdong released this 22 Jan 11:48
a2e4b58

Improvements

  • Added a cleaner for BrpcStubCache to clean up unused connections. #61417
  • Supports batch processing for statistics delete (for dropped tables) and Edit Log write requests. #67896
  • Preserves SQL comments in Audit Logs when encryption is required. #63298
  • Added the warehouse_name label to the materialized view metrics. #67715
  • Improved identifier wrapping for JDBC table and column names. #67853
  • Added the CLIENT_FACTORY property to the Iceberg JDBC catalog. #67613

Bug fixes

The following issues have been fixed:

  • Variadic functions return wrong dates when mixing DATE and DATETIME types. #67947
  • NormalizePredicateRule oscillation on non-deterministic expressions. #67923
  • Low cardinality bugs with the Lambda function. #67843
  • Subfield expression does not collect children subfields. #67850
  • NPE in RBO Join reorder when child statistics are missing. #67693
  • BE crash due to MemTable finalize failed. #67787
  • Temporary partitions are not cleaned up after FE restart for dynamic overwrite. #67629
  • Inaccurate I/O statistics of Compaction. #67524
  • Incorrect logic in physical partition comparison across clusters during replication transaction. #67616
  • Issue with SQL Server and Oracle identifier symbol handling. #67965
  • NPE in the Iceberg metadata table query due to missing configuration propagation. #67151
  • Issue with the f``iles() schema detection for empty Parquet or ORC files. #67762
  • Inaccurate value of metrics in Profile caused by UNION ALL on Hive tables. #67912
  • Lacking support for data retrieval from Arrow Flight proxy for FE queries. #67794

4.0.4

Choose a tag to compare

@wangsimo0 wangsimo0 released this 16 Jan 05:11
591a874

4.0.4

Release Date: January 16, 2026

Improvements

  • Supports Parallel Prepare for Operators and Drivers, and single-node batch fragment deployment to improve query scheduling performance. #63956
  • Optimized deltaRows calculation with lazy evaluation for large partition tables. #66381
  • Optimized Flat JSON processing with sequential iteration and improved path derivation. #66941 #66850
  • Supports releasing Spill Operator memory earlier to reduce memory usage in group execution. #66669
  • Optimized the logic to reduce string comparison overhead. #66570
  • Improved skew detection in GroupByCountDistinctDataSkewEliminateRule and SkewJoinOptimizeRule to support histogram and NULL-based strategies. #66640 #67100
  • Enhanced Column ownership management in Chunk using Move semantics to reduce Copy-On-Write overhead. #66805
  • For shared-data clusters, added FE TableSchemaService and updated MetaScanNode to support Fast Schema Evolution v2 schema retrieval. #66142 #66970
  • Supports multi-warehouse Backend resource statistics and parallelism (DOP) calculation for better resource isolation. #66632
  • Supports configuring Iceberg split size via StarRocks session variable connector_huge_file_size. #67044
  • Supports label-formatted statistics in QueryDumpDeserializer. #66656
  • Added an FE configuration lake_enable_fullvacuum (Default: false) to allow disabling Full Vacuum in shared-data clusters. #63859
  • Upgraded lz4 dependency to v1.10.0. #67045
  • Added fallback logic for sample-type cardinality estimation when row count is 0. #65599
  • Validated Strict Weak Ordering property for lambda comparator in array_sort. #66951
  • Optimized error messages when fetching external table metadata (Delta/Hive/Hudi/Iceberg) fails, showing root causes. #66916
  • Supports dumping pipeline status on query timeout and cancelling with TIMEOUT state in FE. #66540
  • Displays matched rule index in SQL blacklist error messages. #66618
  • Added labels to column statistics in EXPLAIN output. #65899
  • Filtered out "cancel fragment" logs for normal query completions (for example, LIMIT reached). #66506
  • Reduced Backend heartbeat failure logs when the warehouse is suspended. #66733
  • Supports IF EXISTS in the ALTER STORAGE VOLUME syntax. #66691

Bug Fix

The following issues have been fixed:

  • Incorrect DISTINCT and GROUP BY results under Low Cardinality optimization due to missing withLocalShuffle. #66768
  • Rewrite error for JSON v2 functions with Lambda expressions. #66550
  • Incorrect application of Partition Join in Null-aware Left Anti Join within correlated subqueries. #67038
  • Incorrect row count calculation in the Meta Scan rewrite rule. #66852
  • Nullable property mismatched in Union Node when rewriting Meta Scan by statistics. #67051
  • BE crash caused by optimization logic for Ranking window functions when PARTITION BY and ORDER BY are missing. #67094
  • Potential wrong results in Group Execution Join with window functions. #66441
  • Incorrect results from PartitionColumnMinMaxRewriteRule under specific filter conditions. #66356
  • Incorrect Nullable property deduction in Union operations after aggregation. #65429
  • Crash in percentile_approx_weighted when handling compression parameters. #64838
  • Crash when spilling with large string encoding. #61495
  • Crash triggered by multiple calls to set_collector when pushing down local TopN. #66199
  • Dependency deduction error in LowCardinality rewrite logic. #66795
  • Rowset ID leak when rowset commit fails. #66301
  • Metacache lock contention. #66637
  • Ingestion failure when column-mode partial update is used with conditional update. #66139
  • Concurrent import failure caused by Tablet deletion during the ALTER operation. #65396
  • Tablet metadata load error due to RocksDB iteration timeout. #65146
  • Compression settings were not applied during table creation and Schema Change in shared-data clusters. #65673
  • Delete Vector CRC32 compatibility issue during upgrade. #65442
  • Status check logic error in file cleanup after clone task failure. #65709
  • Abnormal statistics collection logic after INSERT OVERWRITE. #65327 #65298 #65225
  • Foreign Key constraints were lost after FE restart. #66474
  • Metadata retrieval error after Warehouse deletion. #66436
  • Inaccurate Audit Log scan statistics under high selectivity filters. #66280
  • Incorrect query error rate metrics calculation logic. #65891
  • Potential MySQL connection leaks when tasks exit. #66829
  • BE status was not updated immediately on the SIGSEGV crash. #66212
  • NPE during LDAP user login. #65843
  • Inaccurate error log when switching users in HTTP SQL requests. #65371
  • HTTP context leaks during TCP connection reuse. #65203
  • Missing QueryDetail in Profile logs for queries forwarded from Follower. #64395
  • Missing Prepare/Execute details in Audit logs. #65448
  • Crash caused by HyperLogLog memory allocation failures. #66747
  • Issue with the trim function memory reservation. #66477 #66428
  • CVE-2025-66566 and CVE-2025-12183. #66453 #66362 #67053
  • Race condition in Exec Group driver submission. #66099
  • Use-after-free risk in Pipeline countdown. #65940
  • MemoryScratchSinkOperator hangs when the queue closes. #66041
  • Filesystem cache key collision issue. #65823
  • Wrong subtask count in SHOW PROC '/compactions'. #67209
  • A unified JSON format is not returned in the Query Profile API. #67077
  • Improper getTable exception handling that affects the materialized view check. #67224
  • Inconsistent output of the Extra column from the DESC statement for native and cloud-native tables. #67238
  • Race condition in single-node deployments. #67215
  • Log leakage from third-party libraries. #67129
  • Incorrect REST Catalog authentication logic that causes authentication failures. #66861

3.4.10

Choose a tag to compare

@jaogoy jaogoy released this 14 Jan 09:09
965be75

Release Date: January 14, 2026

Security

Bug Fixes

The following issues have been fixed:

  • In multi-statement submission scenarios, the SQL/stmt information recorded in the Profile may be incorrect, leading to unreliable troubleshooting and performance analysis data #67119
  • Java UDF/UDAF parameter conversion may take an abnormal path when the input column is "all NULL and nullable", causing Java heap memory to balloon abnormally and potentially triggering OOM #67105
  • When there is no PARTITION BY/GROUP BY and the window function is a ranking type (row_number/rank/dense_rank), the optimizer may generate an invalid execution plan (TOP-N with empty ORDER BY + MERGING-EXCHANGE), causing BE to crash #67085
  • After operations like resizing, deserialization, or filtering on Object/JSON columns, the internal pointer cache may still point to old addresses (dangling pointers), returning nullptr when reading object values and causing segmentation faults/data corruption #66990
  • trim() may trigger vector out-of-bounds operations (e.g., underflow on empty slices) with specific Unicode whitespace characters/boundary inputs, causing BE internal errors or crashes #66484
  • trim() has improper buffer reservation length calculation, potentially causing insufficient reservation and frequent expansions, triggering exception paths and leading to BE internal errors in severe cases #66489
  • After table value function rewrite (bitmap_to_array → unnest_bitmap), the projection column type may be incorrectly inferred (bitmap mistaken as array), leading to type inconsistency risks in subsequent plans/execution #66986
  • When BE triggers crash handling on fatal signals (e.g., SIGSEGV), the heartbeat service may still briefly return success, causing FE to mistakenly believe the BE is alive (until heartbeat timeout), potentially scheduling queries to the crashed node during this period #66250
  • Race condition exists between initial submission and dynamic driver addition (submit_next_driver) in Execution Groups, potentially causing "driver already blocked yet added to schedule" assertion failures and BE crashes #66111
  • When pushing down DISTINCT + LIMIT predicates, the global LIMIT may be incorrectly applied before the Exchange node, causing data to be truncated prematurely and result sets to miss some rows #66129
  • When using ExecutionGroup (group execution) mode, if JOIN is followed by window functions, data may be out of order or duplicated, leading to incorrect results #66458
  • In audit logs/query statistics, statistics like scan row count may be missing or inaccurate in some high-selectivity filtering scenarios, causing monitoring and troubleshooting information to be distorted #66422
  • When CASE-WHEN nesting is deep and each layer has many branches, the expression tree node count may explode exponentially, causing FE OOM #66379
  • percentile_approx_weighted function may access the wrong parameter position when obtaining the compression factor from const parameters, causing BE crashes #65217
  • During BE startup when loading tablet metadata, if RocksDB iteration times out, it may discard already-loaded tablets and retry from the beginning; in cross-disk migration scenarios, this may lead to version loss #65445 #65427
  • Stream Load may fail during transaction commit due to invalid tablet references (e.g., deleted during ALTER) #65986
  • When rowset commit/compaction commit fails on primary key (PK) tables, the rowset ID is not released, causing files to not be garbage-collected and disk space to leak #66336
  • DELETE statements during partition pruning may attempt MV rewrite preparation, potentially blocking or failing DELETE due to table lock order or deadlock issues #65818 #65820
  • When the same table is referenced multiple times in a query, scan nodes may concurrently allocate partition IDs, potentially causing ID conflicts and partition mapping confusion, leading to incorrect query results #65608
  • When column-mode partial update is used together with conditional update, imports may fail with "invalid rssid" errors #66217
  • When concurrent transactions create temporary partitions with the same partition values but different transaction IDs, "Duplicate values" errors may cause automatic partition creation to fail #66203 #66398
  • Clone task checks the wrong status variable during cleanup after _finish_clone_primary failure, potentially preventing cleanup logic from executing correctly #65765
  • When DROP and CLONE tasks execute concurrently on the same tablet, the only replica may be deleted by DROP, causing query failures #66271
  • In spill scenarios, very large string encoding may cause BE crashes due to buffer reservation errors or type overflows #65373
  • When using CACHE SELECT functionality, if column iterators are not properly seeked or schema is incorrectly reordered, assertion failures or data confusion may occur, causing BE crashes #66276
  • External table (file format schema detection) sampling scans may experience range index out-of-bounds, causing BE crashes or reading incorrect data #65931
  • When materialized views are based on VIEW + JOIN scenarios and the VIEW name matches a base table name (but in different databases), partition expression parsing may fail, causing MV creation errors #66315
  • When materialized views refresh on multi-level partitioned base tables, only parent partition metadata (ID/Version) is checked, not sub-partition changes, causing MV not to refresh after sub-partition data updates #66108
  • After Iceberg table snapshot expiration, partition last_updated_at may be null, causing MVs depending on that table to fail to track partition changes correctly and skip MV refreshes #66044
  • When queries contain the same table multiple times with different partition predicates, MV compensation (MVCompensation) may confuse partition information, leading to incorrect rewrites #66416
  • Text-based MV rewrite after AST cache hits does not refresh MV metadata, potentially using outdated tablet information and causing query failures or data inconsistencies #66583
  • Low cardinality optimization has bugs in disabled column propagation logic, potentially causing incorrect column disabling and wrong query results #66771
  • PRIMARY KEY tables with low cardinality optimization enabled may crash or produce incorrect data due to incompatible global dictionary collection logic #66739
  • Nested CTEs with partial inlining and partial reuse scenarios may have overly strict optimizer checks, rejecting valid plans #66703
  • After merging UNION to constants (VALUES), output column nullability may be incorrectly set, causing downstream operators to crash or produce incorrect results #65454
  • Partition column min/max rewrite optimization may generate invalid TOP-N in scenarios without partition-by/order-by, causing BE crashes or incorrect results #66498
  • Non-deterministic functions (e.g., now()) are incorrectly pushed down to lower operators, potentially causing results to be inconsistent across different operators/shards #66391
  • Foreign key constraints are lost after FE restart because MaterializedView. onCreate() does not trigger constraint rebuilding and registration #66615
  • When materialized views contain colocate_with property, metadata is not written to EditLog, causing follower FE to be unaware of colocate relationships and query performance degradation #65840 #65405
  • After Warehouse deletio...
Read more

3.5.11

Choose a tag to compare

@yingtingdong yingtingdong released this 06 Jan 03:31
0a8fcec

Improvements

  • Supports Arrow Flight data retrieval from inaccessible nodes. #66348
  • Logs the cause (including the triggering process information) in the SIGTERM handler. #66737
  • Added an FE configuration enable_statistic_collect_on_update to control whether UPDATE statements can trigger automatic statistics collection. #66794
  • Supports configuring networkaddress.cache.ttl. #66723
  • Improve the “no rows imported” error message. #66624 #66535
  • Optimized deltaRows with lazy evaluation for large partition tables. #66381
  • Optimized materialized view rewrite performance. #66623
  • Supports single-tablet ResultSink optimization in shared-data clusters. #66517
  • rewrite``_``simple``_``agg``_``to``_``meta``_``scan is enabled by default. #64698
  • Supports pushing down GROUP BY expressions and materialized view rewrite. #66507
  • Add overloaded newMessage methods to improve materialized view logs. #66367

Bug Fixes

The following issues have been fixed:

  • A Publish Compaction crash when the input rowset is not found. #67154
  • Significant CPU overhead and lock contention caused by repetitive invocation of update_segment_cache_size when querying tables with a large number of columns. #66714
  • MulticastSinkOperator stuck in the OUTPUT_FULL state. #67153
  • A “column not found” issue in the skew join hint. #66929
  • The growth of all tablets continues unabated, and the sum of pending and running tablets is not the total number of tablets. #66718
  • Transactions in the Compaction map built during Leader startup cannot be accessed by CompactionScheduler and will never be removed from the map. #66533
  • Delta Lake table refresh does not take effect. #67156
  • CN crash at queries against non-partitioned Iceberg tables with DATE predicates. #66864
  • Statements in Profiles cannot be correctly displayed when multiple statements are submitted. #67097
  • Missing dictionary information during collection because Meta Reader does not support reading from Delta column group files. #66995
  • Potential Java heap OOM in Java UDAF. #67025
  • BE crash due to the incorrect logic of ranking window optimization without PARTITION BY and ORDER BY. #67081
  • Misleading log level for timezone cache miss. #66817
  • Crash and incorrect results caused by the incorrect can_use_bf checking when merging runtime filters. #67021
  • Issue about pushing down runtime bitset filter with other OR predicates. #66996
  • Patch critical fix from lz4. #67053
  • AsyncTaskQueue deadlock issue. #66791
  • Cache inconsistency in ObjectColumn. #66957
  • RewriteUnnestBitmapRule causes wrong output column types. #66855
  • Data races and data loss when there are WRITE or FLUSH tasks after FINISH tasks in the Delta Writer. #66943
  • Invalid load channel and misleading internal errors caused by reopened load channels that were previously aborted. #66793
  • Bugs of Arrow Flight SQL. #65889
  • Issues when querying renamed columns with MetaScan. #66819
  • Hash column is not removed before flushing chunk in partitionwise spillable aggregation when skew elimination is off. #66839
  • BOOLEAN type default values were not correctly handled when stored as string literals. #66818
  • decimal2decimal cast unexpectedly returns the input column as the result directly. #66773
  • NPE in query planning during schema change. #66811
  • LocalTabletsChannel and LakeTabletsChannel deadlock. #66748
  • publish_version log shows empty txn_ids with new FE. #66732
  • Incorrect behavior of the FE configuration statistic_collect_query_timeout. #66363
  • UPDATE statements do not support statistics collection. #66443
  • Case rewrite errors related to low cardinality. #66724
  • Statistics query failure when the column list is empty. #66138
  • Usage/record mismatch when switching warehouse via hint. #66677
  • ANALYZE TABLE statements lack ExecTimeout. #66361
  • array_map returns wrong results from constant unary expressions. #66514
  • Foreign key constraints are lost after FE restart. #66474
  • max(not null string) on empty table throws std::length_error. #66554
  • Concurrency issue between Primary Key index Compaction and Apply. #66282
  • Improper behavior of EXPLAIN <query>. #66542
  • Issue when sinking DECIMAL128 to Iceberg table column. #66071
  • JSON length check issue for JSON → CHAR/VARCHAR when the target length equals the minimum. #66628
  • An expression children count error. #66511