Releases: StarRocks/starrocks
Releases · StarRocks/starrocks
Release list
4.0.8
4.0.8
Release Date: March 25, 2026
Behavior Changes
- Improved
sql_modehandling: whenDIVISION_BY_ZEROorFAIL_PARSE_DATEmode is set, division by zero and date parse failures instr_to_date/str2datenow return an error instead of being silently ignored. #70004 - When
sql_modeis set toFORBID_INVALID_DATE, invalid dates inINSERT VALUESclauses are now correctly rejected instead of being bypassed. #69803 - Expression partition generated columns are now hidden from
DESCandSHOW CREATE TABLEoutput. #69793 - Client ID is no longer included in audit logs. #69383
Improvements
- Added a configuration item
local_exchange_buffer_mem_limit_per_driverto limit the local exchange buffer size todop * local_exchange_buffer_mem_limit_per_driver. #70393 - Cached file existence check results across versions in
check_missing_filesto reduce redundant storage I/O. #70364 - Allowed disabling split and reverse scan ranges for descending TopN runtime filters when
desc_hint_split_rangeis set to ≤ 0. #70307 - Added
EXPLAINandEXPLAIN ANALYZEsupport forINSERTstatements 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_typeconfiguration to force partition type in materialized view refresh. #70381 dataVersionnot 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
FileSystemExpirationCheckerblocking 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
commonwas used instead ofcomment. #70267 - Root user not bypassing all Ranger permission checks in some scenarios. #70254
query_poolmemory tracker going negative during data ingestion. #70228AuditEventProcessorthread exiting due toOutOfMemoryException. #70206SplitTopNRulenot applying partition pruning correctly. #70154- Out-of-bounds access in
cal_new_base_versionduring 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_datelosing microsecond precision in BE runtime. #70068- Join spill process crashing in
set_callback_function. #70030 - Broker Load failing GCS authentication after
gcs-connectorupgrade to version 3.0.13. #70012 - DCHECK failure in
DeltaWriter::close()when called from a bthread context. #69960 - Use-after-free race condition in
AsyncDeltaWriterclose/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
LIKEpattern 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
PartitionColumnMinMaxRewriteRulecaused byPartition.hasStorageData. #69751 - Duplicated CSV compression suffix in file sink output filenames. #69749
lake_capture_tablet_and_rowsetsnot 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
ComputeResourceinConnectContext. #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 NULLconstraint incorrectly pushed down toFILES()table function schema. #70621num_short_key_columnsmismatch in partial tablet schema. #70586COLUMN_UPSERT_MODEchecksum 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
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_tasksdoes not reflect the real situation during theresource_busystate. #69526 - Rowset files are removed when moving Primary Key tablets to trash. #69438
- Lock leak in
addPartitionscaused by name-based table lookup after concurrent SWAP. #69284 isInternalCancelErrorusedequalsinstead ofstartsWith. #69523- Pipeline blocks or crashes when
_writer->Close()throws an exception other thanParquetStatusException. #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 EXISTSignoredifExistsflag. #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 onReloadissues 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
IllegalArgumentExceptioncomparator 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_cntmetric. #68845 - JSON-flatten array/object conflict on identical paths. #68804
ClonExprnullable bug. #68800
4.0.6
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_timeoutfor fine-grained control (Priority: Session > Table > Cluster). #67547 - Supports the
ADMIN SHOW AUTOMATED CLUSTER SNAPSHOTstatement 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.loadsfor better observability. #67879 - Introduced FE memory estimation utility API
/api/memory_usage. #68287 - Reduced unnecessary logging in
CatalogRecycleBinduring partition recycling. #68533 - Triggered refresh of related asynchronous materialized views when the base table undergoes Swap/Drop/Replace Partition operations. #68430
- Supports
VARBINARYtype forcount 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_idconflict 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 CATALOGoutput were not masked. #65462
3.5.13
3.5.13
Release Date: February 13, 2026
Improvements
- Added an FE configuration
enable_table_metrics_collectto 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
acceptthread 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
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
LocalTabletsChannelandLakeTabletsChannel. #66748 - Potential BE crash when executing
CACHE SELECTqueries with filter conditions. #67375 - Issue where the Multicast Sink Operator could get stuck in the
OUTPUT_FULLstate 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
ObjectColumnis 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 BYandORDER BYare missing. #67081 - Incorrect result issue where
COUNT(DISTINCT)was not correctly rewritten tomulti_distinct_countwhen queried alongside non-distinct aggregations (like SUM) on a single-bucket table. #66767 - Incorrect results when
regexp_replaceprocesses multiple rows withenable_hyperscan_vecenabled. #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_arraytounnest_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_versionlogs in the new FE. #66732 - Performance issue caused by unnecessary Protobuf message copying after
set_allocated. #67844
4.0.5
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
3.5.12
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_namelabel to the materialized view metrics. #67715 - Improved identifier wrapping for JDBC table and column names. #67853
- Added the
CLIENT_FACTORYproperty 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
NormalizePredicateRuleoscillation 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
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
deltaRowscalculation 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
GroupByCountDistinctDataSkewEliminateRuleandSkewJoinOptimizeRuleto 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
TableSchemaServiceand updatedMetaScanNodeto 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
TIMEOUTstate in FE. #66540 - Displays matched rule index in SQL blacklist error messages. #66618
- Added labels to column statistics in
EXPLAINoutput. #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 EXISTSin theALTER STORAGE VOLUMEsyntax. #66691
Bug Fix
The following issues have been fixed:
- Incorrect
DISTINCTandGROUP BYresults under Low Cardinality optimization due to missingwithLocalShuffle. #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 BYandORDER BYare missing. #67094 - Potential wrong results in Group Execution Join with window functions. #66441
- Incorrect results from
PartitionColumnMinMaxRewriteRuleunder specific filter conditions. #66356 - Incorrect Nullable property deduction in Union operations after aggregation. #65429
- Crash in
percentile_approx_weightedwhen handling compression parameters. #64838 - Crash when spilling with large string encoding. #61495
- Crash triggered by multiple calls to
set_collectorwhen 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
trimfunction 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
MemoryScratchSinkOperatorhangs 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
getTableexception handling that affects the materialized view check. #67224 - Inconsistent output of the
Extracolumn from theDESCstatement 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
Release Date: January 14, 2026
Security
- LZ4-java dependency has CVE security vulnerabilities (CVE-2025-12183, CVE-2025-66566), potentially affecting system security #66373 #66480
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...
3.5.11
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_updateto 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
deltaRowswith lazy evaluation for large partition tables. #66381 - Optimized materialized view rewrite performance. #66623
- Supports single-tablet
ResultSinkoptimization in shared-data clusters. #66517 rewrite``_``simple``_``agg``_``to``_``meta``_``scanis enabled by default. #64698- Supports pushing down GROUP BY expressions and materialized view rewrite. #66507
- Add overloaded
newMessagemethods 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_sizewhen querying tables with a large number of columns. #66714 MulticastSinkOperatorstuck in theOUTPUT_FULLstate. #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_bfchecking 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_versionlog shows emptytxn_idswith 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 TABLEstatements lack ExecTimeout. #66361array_mapreturns wrong results from constant unary expressions. #66514- Foreign key constraints are lost after FE restart. #66474
max(not null string)on empty table throwsstd::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