New
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 deletion, SHOW LOAD or information_schema.loads queries may fail; original sessions cannot execute any SQL (including switching warehouses) #66464
- When tablet statistics reporting is not timely, table cardinality estimation may incorrectly use sample-type statistics in some edge cases, with cardinality of 1, causing execution plans to deviate significantly #65655
- Tablet statistics reporting timing issues may cause partition row counts to be 0, rendering table cardinality estimation completely ineffective #65266
- FE's locking order on TransactionState during createPartition is opposite to Gson serialization, potentially causing deadlocks #65792
- DELETE VECTOR CRC32 may fail validation in ABA upgrade/downgrade scenarios due to version incompatibilities, causing query errors #65436 #65421 #65475 #65483
- map_agg aggregate function may trigger crashes on specific inputs #67460
- When flat_path is empty, calling substr(1) triggers std::out_of_range exception, causing BE crashes #65386
- In shared-data scenarios, compression configurations do not take effect correctly during table creation and schema changes #65778
- When adding columns with default values, concurrent INSERTs may fail due to invalid column references #66107 #65968
- Segment iterator selection order is inconsistent during scan initialization between shared-data and shared-nothing scenarios, potentially causing inconsistent scan behavior #65782 #61171
- merge_condition is not supported when merge commit is enabled, causing partial update scenarios to fail #65278
- Image journal ID retrieval logic is incorrect, potentially causing cluster snapshot functionality abnormalities #65989
- LDAP users trigger NPE in TaskRun scenarios due to null ConnectContext. get(), causing task failures #65877
- When ANALYZE statements execute on follower FE, RPC timeout still uses query_timeout instead of statistic_collect_query_timeout, potentially causing timeouts too early or too late #66785
- MemoryScratchSinkOperator cannot properly finish pending_finish after RecordBatchQueue shutdown, causing tasks to hang #66095
- Query error rate metric calculations use wrong variables, potentially producing negative values or inaccuracies #65901
- Load profile counters may be updated repeatedly, causing inflated statistics #65352
- In multi-task deployment (deploy more tasks) scenarios, Profile collection thread context is not switched correctly, causing some metrics to be lost #65733
- Local/Lake TabletsChannel lifecycle management has circular lock waiting risks: deadlocks may occur on specific close/deregister paths, affecting import/write task availability #66820
- Filesystem instance cache (filesystem cache) causes query performance to drop significantly and cannot recover after capacity is set to 0 (due to cache key and instance mismatch) #65979