Skip to content

Releases: StarRocks/starrocks

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

4.0.0

17 Oct 08:53
dccb665

Choose a tag to compare

StarRocks version 4.0

4.0.0

Release date: October 17, 2025

Data Lake Analytics

  • Unified Page Cache and Data Cache for BE metadata, and adopted an adaptive strategy for scaling. #61640
  • Optimized metadata file parsing for Iceberg statistics to avoid repetitive parsing. #59955
  • Optimized COUNT/MIN/MAX queries against Iceberg metadata by efficiently skipping over data file scans, significantly improving aggregation query performance on large partitioned tables and reducing resource consumption. #60385
  • Supports compaction for Iceberg tables via procedure rewrite_data_files.
  • Supports Iceberg tables with hidden partitions, including creating, writing, and reading the tables. #58914
  • Supports setting sort keys when creating Iceberg tables.
  • Optimizes sink performance for Iceberg tables.
    • Iceberg Sink supports spilling large operators, global shuffle, and local sorting to optimize memory usage and address small file issues. #61963
    • Iceberg Sink optimizes local sorting based on Spill Partition Writer to improve write efficiency. #62096
    • Iceberg Sink supports global shuffle for partitions to further reduce small files. #62123
  • Enhanced bucket-aware execution for Iceberg tables to improve concurrency and distribution capabilities of bucketed tables. #61756
  • Supports the TIME data type in the Paimon catalog. #58292
  • Upgraded Iceberg version to 1.10.0. #63667

Security and Authentication

  • In scenarios where JWT authentication and the Iceberg REST Catalog are used, StarRocks supports the passthrough of user login information to Iceberg via the REST Session Catalog for subsequent data access authentication. #59611 #58850
  • Supports vended credentials for the Iceberg catalog.
  • Supports granting StarRocks internal roles to external groups obtained via Group Provider. #63385 #63258
  • Added REFRESH privilege to external tables to control the permission to refresh them. #63385

Storage Optimization and Cluster Management

  • Introduced  the File Bundling optimization for the cloud-native table in shared-data clusters to automatically bundle the data files generated by loading, Compaction, or Publish operations, thereby reducing the API cost caused by high-frequency access to the external storage system. #58316
  • Supports Multi-Table Write-Write Transaction to allow users to control the atomic submission of INSERT, UPDATE, and DELETE operations. The transaction supports Stream Load and INSERT INTO interfaces, effectively guaranteeing cross-table consistency in ETL and real-time write scenarios. #61362
  • Supports Kafka 4.0 for Routine Load.
  • Supports full-text inverted indexes on Primary Key tables in shared-nothing clusters.
  • Supports modifying aggregate keys of Aggregate tables. #62253
  • Supports enabling case-insensitive processing on names of catalogs, databases, tables, views, and materialized views. #61136
  • Supports blacklisting Compute Nodes in shared-data clusters. #60830
  • Supports global connection ID. #57256
  • Added the recyclebin_catalogs metadata view to Information Schema to display recoverable deleted metadata. #51007

Query and Performance Improvement

  • Supports DECIMAL256 data type, expanding the upper limit of precision from 38 to 76 bits. Its 256-bit storage provides better adaptability to high-precision financial and scientific computing scenarios, effectively mitigating DECIMAL128's precision overflow problem in very large aggregations and high-order operations. #59645
  • Improved the performance for basic operators.#61691 #61632 #62585 #61405 #61429
  • Optimized the performance of the JOIN and AGG operators. #61691
  • [Preview] Introduced SQL Plan Manager to allow users to bind a query plan to a query, thereby preventing the query plan from changing due to system state changes (mainly data updates and statistics updates), thus stabilizing query performance. #56310
  • Introduced Partition-wise Spillable Aggregate/Distinct operators to replace the original Spill implementation based on sorted aggregation, significantly improving aggregation performance and reducing read/write overhead in complex and high-cardinality GROUP BY scenarios. #60216
  • Flat JSON V2:
    • Supports configuring Flat JSON on the table level. #57379
    • Enhance JSON columnar storage by retaining the V1 mechanism while adding page- and segment-level indexes (ZoneMaps, Bloom filters), predicate pushdown with late materialization, dictionary encoding, and integration of a low-cardinality global dictionary to significantly boost execution efficiency. #60953
  • Supports an adaptive ZoneMap index creation strategy for the STRING data type. #61960
  • Enhanced query observability:
    • Optimized EXPLAIN ANALYZE output to display the execution metrics by group and by operator for better readability. #63326
    • QueryDetailActionV2 and QueryProfileActionV2 now support JSON format, enhancing cross-FE query capabilities. #63235
    • Supports retrieving Query Profile information across all FEs. #61345
    • SHOW PROCESSLIST statements display Catalog, Query ID, and other information. #62552
    • Enhanced query queue and process monitoring, supporting display of Running/Pending statuses.#62261
  • Materialized view rewrites consider the distribution and sort keys of the original table, improving the selection of optimal materialized views. #62830

Functions and SQL Syntax

  • Added the following functions:
  • Provides the following syntactic extensions:
    • Supports IF NOT EXISTS keywords in CREATE ANALYZE FULL TABLE. #59789
    • Supports EXCLUDE clauses in SELECT. #57411
    • Supports FILTER clauses in aggregate functions, improving readability and execution efficiency of conditional aggregations. #58937

Behavior Changes

  • Adjust the logic of the materialized view parameter auto_partition_refresh_number to limit the number of partitions to refresh regardless of auto refresh or manual refresh. #62301
  • Flat JSON is enabled by default. #62097
  • The default value of the system variable enable_materialized_view_agg_pushdown_rewrite is set to true, indicating that aggregation pushdown for materialized view query rewrite is enabled by default. #60976
  • Changed the type of some columns in `i...
Read more

3.3.19

14 Oct 07:13
d4ed3d0

Choose a tag to compare

3.3.19

Release Date: October 14, 2025

Bug Fixes

The following issues have been fixed:

  • UserProperty had lower priority than Session Variables. #63173
  • Materialized view refresh failures that could occur when the Hive base table was dropped and recreated. #63072
  • Issues with the aggregation pushdown rewrite rule. #63060
  • Inconsistencies between null columns and data columns in Boolean extraction functions for JSON. #63054
  • Issues when getting partition columns in Delta Lake format tables. #62953
  • Lack of colocation support for materialized views in shared-data clusters. #62941
  • Projection mapping errors in view-based materialized view rewrite. #62918
  • SQL syntax errors in histogram statistics when Most Common Values (MCV) contained single quotes. #62853
  • KILL ANALYZE did not work. #62842
  • CVE-2025-58056 vulnerability. #62801
  • Executing SHOW CREATE ROUTINE LOAD without specifying a database causes wrong results. #62745
  • Data loss caused by incorrectly skipping CSV headers in files(). #62719
  • Version check failures when Replication and Compaction transactions were committed together. #62663
  • Materialized view refresh is skipped because the materialized view version map is not cleared after a failed restore job. #62634
  • Issues caused by case-sensitive partition column validation in the materialized view analyzer. #62598

4.0.0-RC02

29 Sep 07:32
b95e90b

Choose a tag to compare

4.0.0-RC02 Pre-release
Pre-release

4.0.0-RC02

Release Date: September 29, 2025

New Features

  • Supports setting sort keys when creating Iceberg tables.
  • Supports Multi-Table Write-Write Transactions, allowing users to atomically commit INSERT, UPDATE, and DELETE operations. These transactions are compatible with both Stream Load and INSERT INTO interfaces, ensuring cross-table consistency in ETL and real-time ingestion scenarios.
  • Supports modifying aggregation keys of aggregate tables.

Improvements

  • Optimized Delta Lake Catalog cache configuration: adjusted default values of DELTA_LAKE_JSON_META_CACHE_TTL and DELTA_LAKE_CHECKPOINT_META_CACHE_TTL to 24 hours, and simplified Parquet handler logic. #63441
  • Improved Delta Lake Catalog error log format and content for better debugging. #63389
  • External groups (e.g., LDAP Group) now support role grant/revoke and display, improving SQL syntax and test coverage for stronger access control. #63385
  • Strengthened Stream Load parameter consistency checks to reduce risks caused by parameter drift. #63347
  • Optimized Stream Load label passing mechanism to reduce dependencies. #63334
  • Improved ANALYZE PROFILE format: ExplainAnalyzer now supports grouping metrics by operator. #63326
  • Enhanced QueryDetailActionV2 and QueryProfileActionV2 APIs to return results in JSON format. #63235
  • Improved predicate parsing in scenarios with large numbers of CompoundPredicates. #63139
  • Adjusted certain FE metrics to be leader-aware. #63004
  • Enhanced SHOW PROCESS LIST with Catalog and Query ID information. #62552
  • Improved BE JVM memory monitoring metrics. #62210
  • Optimized materialized view rewrite logic and log outputs. #62985
  • Optimized random bucketing strategy. #63168
  • Supports resetting AUTO_INCREMENT start value with ALTER TABLE <table_name> AUTO_INCREMENT = 10000;. #62767
  • Group Provider now supports matching groups by DN. #62711

Bug Fixes

The following issues have been fixed:

  • Incomplete Left Join results caused by ARRAY low-cardinality optimization. #63419
  • Incorrect execution plan generated after materialized view aggregate pushdown rewrite. #63060
  • Redundant warning logs printed in JSON field pruning scenarios when schema fields were not found. #63414
  • Infinite loop caused by SIMD Batch parameter errors when inserting DECIMAL256 data in ARM environments. #63406
  • Three storage-related issues: #63398
    • Cache exception when disk path is empty.
    • Incorrect Azure cache key prefix.
    • S3 multipart upload failure.
  • ZoneMap filter invalidation after CHAR-to-VARCHAR schema change with Fast Schema Evolution. #63377
  • ARRAY aggregation type analysis error caused by intermediate type ARRAY<NULL_TYPE>. #63371
  • Metadata inconsistency in partial updates based on auto-increment columns. #63370
  • Metadata inconsistency when deleting tablets or querying concurrently. #63291
  • Failure to create spill directory during Iceberg table writes. #63278
  • Ranger Hive Service permission changes not taking effect. #63251
  • Group Provider did not support IF NOT EXISTS and IF EXISTS clauses. #63248
  • Errors caused by using reserved keywords in Iceberg partitions. #63243
  • Prometheus metric format issue. #62742
  • Version check failure when starting replication transactions with Compaction enabled. #62663
  • Missing Compaction Profile when File Bunding was enabled. #62638
  • Issues handling redundant replicas after Clone. #62542
  • Delta Lake tables failed to find partition columns. #62953
  • Materialized views did not support Colocation in shared-data clusters. #62941
  • Issues reading NULL partitions in Iceberg tables. #62934
  • SQL syntax error caused by single quotes in Histogram statistics MCV (Most Common Values). #62853
  • KILL ANALYZE command not working. #62842
  • Failure collecting Stream Load profiles. #62802
  • Incorrect CTE reuse plan extraction. #62784
  • Rebalance failure due to incorrect BE selection. #62776
  • User Property priority is lower than Session Variable. #63173

3.4.8

30 Sep 10:18
d507a53

Choose a tag to compare

Release Date: September 30, 2025

Behavior Change

  • Lake internal tablet parallel scan (enable_lake_tablet_internal_parallel) is now enabled by default, increasing per‑query internal parallelism (may raise peak resource usage) #62360

Bug Fixes

The following issues have been fixed:

Data Lake Analytics

  • Delta Lake partition column names were forcibly converted to lowercase, causing mismatch with actual column names #62970
  • Iceberg manifest cache eviction race could trigger a NullPointerException #63052
  • Uncaught generic exceptions during Iceberg scan phase interrupted scan range submission and produced no metrics #63019

Materialized Views (MV)

  • Complex multi-layer projected views used in MV rewrite produced invalid plans or missing column statistics #63014 #62230
  • Case mismatch of Hive external table MV partition columns was incorrectly rejected #62623
  • MV refresh used only the creator’s default role, causing insufficient privilege in “no default role” or LDAP setups (role activation strategy & config introduced) #62461
  • Case-insensitive conflicts in list-partitioned MV partition names led to duplicate name errors #62443
  • Residual version mapping after failed MV restore caused subsequent incremental refresh to be skipped, returning empty results #62643
  • Abnormal partitions after MV recovery caused FE restart NullPointerException #62563
  • Non-global aggregation queries incorrectly applied aggregation pushdown rewrite producing invalid plans #63105

Storage / Metadata

  • Tablet deletion state was only updated in memory (shutdown) and not persisted, so GC still treated it as running and skipped reclamation #63623 #63620
  • Concurrent query plus drop tablet led to early delvec cleanup and “no delete vector found” errors #63307
  • Base and cumulative sstable sharing the same max_rss_rowid in PK index compaction were misordered, risking lost delete semantics #63362
  • Possible BE crash when LakePersistentIndex destructor ran after a failed initialization #62297
  • Graceful shutdown of publish thread pool silently discarded queued tasks without marking failures, creating version holes and a false “all succeeded” impression #62683
  • Newly cloned replica on a newly added BE during rebalance was immediately judged redundant and removed, preventing data migration to the new node #62894
  • Missing lock when reading tablet max version caused inconsistent replication transaction decisions #62280

Query & Optimization

  • Combination of date_trunc equality and raw column range predicate was reduced to a point interval, returning empty result sets (e.g. date_trunc('month', dt)='2025-09-01' AND dt>'2025-09-23') #63570
  • Pushdown of non-deterministic predicates (random/time functions) produced inconsistent results #63533
  • Missing consumer node after CTE reuse decision produced incomplete execution plans #63188
  • Type mismatch crashes when table functions and low-cardinality (dictionary) encoding coexisted #62500 #62384

Ingestion & Export

  • Oversized CSV split into parallel fragments caused every fragment to skip header rows, leading to data loss (only the first fragment should skip) #62789
  • SHOW CREATE ROUTINE LOAD without explicit DB returned job from another database with the same name #62792
  • NullPointerException when sameLabelJobs became null during concurrent load job cleanup #63181

Cluster Operations & Management

  • CN normal restart or crash path incorrectly executed scale-in deregistration, harming topology consistency #63002 #63010
  • Backend decommission blocked even when all tablets were already in recycle bin (no force completion) #63267
  • OPTIMIZE TABLE task stuck in PENDING after thread pool rejection #62556
  • Dirty tablet metadata cleanup used GTID arguments in the wrong order #62285

3.5.6

22 Sep 01:26
3ba6b8d

Choose a tag to compare

Release date: September 22, 2025

Improvements

  • A decommissioned BE will be forcibly dropped when all its tablets are in the recycle bin, to avoid the decommission being blocked by those tablets. #62781
  • Vacuum metrics will be updated when Vacuum succeeds. #62540
  • Added thread pool metrics to the fragment instance execution state report, including active threads, queue count, and running threads. #63067
  • Supports S3 path-style access in shared-data clusters to improve compatibility with MinIO and other S3-compatible storage systems. You can enable this feature by setting aws.s3.enable_path_style_access to true when creating a storage volume. #62591
  • Supports resetting the starting point of the AUTO_INCREMENT value via ALTER TABLE`` <table_name>`` AUTO_INCREMENT`` = 10000;. #62767
  • Supports using Distinguished Name (DN) in Group Provider for group matching, improving the user group solution for LDAP/Microsoft Active Directory environments. #62711
  • Supports Azure Workload Identity authentication for Azure Data Lake Storage Gen2. #62754
  • Added transaction error messages to the information_schema.``loads view to aid failure diagnosis. #61364
  • Supports reusing common expressions for complex CASE WHEN expressions in Scan predicates to reduce repetitive computation. #62779
  • Uses the REFRESH (instead of ALTER) privilege on the materialized view to execute REFRESH statements. #62636
  • Disabled low-cardinality optimization on Lake tables by default to avoid potential issues. #62586
  • Enabled tablet balancing between workers by default in shared-data clusters. #62661
  • Supports reusing expressions in outer-join WHERE predicates to reduce repetitive computation. #62139
  • Added Clone metrics in FE. #62421
  • Added Clone metrics in BE. #62479
  • Added an FE configuration item enable_statistic_cache_refresh_after_write to disable statistics-cache lazy refresh by default. #62518
  • Masked credential information in SUBMIT TASK for better security. #62311
  • json_extract in the Trino dialect returns a JSON type. #59718
  • Supports ARRAY type in null_or_empty. #62207
  • Adjusted the size limit for the Iceberg manifest cache. #61966
  • Added a remote file-cache limit for Hive. #62288

Bug Fixes

The following issues have been fixed:

  • Secondary replicas hang indefinitely due to negative timeout values, which cause incorrect timestamp comparisons. #62805
  • PublishTask may be blocked when TransactionState is REPLICATION. #61664
  • Incorrect repair mechanism for Hive tables that have been dropped and recreated during materialized view refresh. #63072
  • Incorrect execution plans were generated after the materialized view aggregation push‑down rewrite. #63060
  • ANALYZE PROFILE failures caused by PlanTuningGuide producing unrecognized strings (null explainString) in the query profiles. #63024
  • Inappropriate return type of hour_from_unixtime and incorrect rewrite rule of CAST. #63006
  • NPE in Iceberg manifest cache under data races. #63043
  • Shared-data clusters lack support for colocation in materialized views. #62941
  • Iceberg table Scan Exception during Scan Range deployment. #62994
  • Incorrect execution plans were generated for view-based rewrite. #62918
  • Errors and disrupted tasks due to Compute Nodes are not gracefully shut down on exit. #62916
  • NPE when Stream Load execution status updates. #62921
  • An issue with statistics when the column name and the name in the PARTITION BY clause differ in case. #62953
  • Wrong results are returned when the LEAST function is used as a predicate. #62826
  • Invalid ProjectOperator above the table-pruning frontier CTEConsumer. #62914
  • Redundant replica handling after Clone. #62542
  • Failed to collect Stream Load profiles. #62802
  • Ineffective disk rebalancing caused by improper BE selection. #62776
  • A potential NPE crash in LocalTabletsChannel when a missing tablet_id leads to a null delta writer. #62861
  • KILL ANALYZE does not take effect. #62842
  • SQL syntax errors in histogram stats when MCV values contain single quotes. #62853
  • Incorrect output format of metrics for Prometheus. #62742
  • NPE when querying information_schema.analyze_status after the database is dropped. #62796
  • CVE-2025-58056. #62801
  • When SHOW CREATE ROUTINE LOAD is executed, wrong results are returned because the database is considered null if not specified. #62745
  • Data loss caused by incorrectly skipping CSV headers in files(). #62719
  • NPE when replaying batch-transaction upserts. #62715
  • Publish being incorrectly reported as successful during graceful shutdown in shared-nothing clusters. #62417
  • Crash in asynchronous delta writer due to a null pointer. #62626
  • Materialized view refresh is skipped because the materialized view version map is not cleared after a failed restore job. #62634
  • Issues caused by case-sensitive partition column validation in the materialized view analyzer. #62598
  • Duplicate IDs for statements with syntax errors. #62258
  • StatisticsExecutor status is overridden due to redundant state assignment in CancelableAnalyzeTask. #62538
  • Incorrect error messages produced by statistics collection. #62533
  • Premature throttling caused by insufficient default maximum connections for external users. #62523
  • A potential NPE in materialized view backup and restore operations. #62514
  • Incorrect http_workers_num metric. #62457
  • The runtime filter fails to locate the corresponding execution group during construction. #62465
  • Tedious results on Scan Node caused by simplifying CASE WHEN with complex functions. #62505
  • gmtime is not thread-safe. #60483
  • An issue with getting Hive partitions with escaped strings. #59032

4.0.0-RC

09 Sep 08:26
6c87b5f

Choose a tag to compare

4.0.0-RC Pre-release
Pre-release

4.0.0-RC

Release date: September 9, 2025

Data Lake Analytics

  • Unified Page Cache and Data Cache for BE metadata, and adopted an adaptive strategy for scaling. #61640
  • Optimized metadata file parsing for Iceberg statistics to avoid repetitive parsing. #59955
  • Optimized COUNT/MIN/MAX queries against Iceberg metadata by efficiently skipping over data file scans, significantly improving aggregation query performance on large partitioned tables and reducing resource consumption. #60385
  • Supports compaction for Iceberg tables via procedure rewrite_data_files.
  • Supports Iceberg tables with hidden partitions, including creating, writing, and reading the tables. #58914
  • Supports the TIME data type in the Paimon catalog. #58292

Security and Authentication

  • In scenarios where JWT authentication and the Iceberg REST Catalog are used, StarRocks supports the passthrough of user login information to Iceberg via the REST Session Catalog for subsequent data access authentication. #59611 #58850
  • Supports vended credentials for the Iceberg catalog.

Storage Optimization and Cluster Management

  • Introduced  the File Bundling optimization for the cloud-native table in shared-data clusters to automatically bundle the data files generated by loading, Compaction, or Publish operations, thereby reducing the API cost caused by high-frequency access to the external storage system. #58316
  • Supports Kafka 4.0 for Routine Load.
  • Supports full-text inverted indexes on Primary Key tables in shared-nothing clusters.
  • Supports enabling case-insensitive processing on names of catalogs, databases, tables, views, and materialized views. #61136
  • Supports blacklisting Compute Nodes in shared-data clusters. #60830
  • Supports global connection ID. #57256

Query and Performance Improvement

  • Supports DECIMAL256 data type, expanding the upper limit of precision from 38 to 76 bits. Its 256-bit storage provides better adaptability to high-precision financial and scientific computing scenarios, effectively mitigating DECIMAL128's precision overflow problem in very large aggregations and high-order operations. #59645
  • Optimized the performance of the JOIN and AGG operators. #61691
  • [Preview] Introduced SQL Plan Manager to allow users to bind a query plan to a query, thereby preventing the query plan from changing due to system state changes (mainly data updates and statistics updates), thus stabilizing query performance. #56310
  • Introduced Partition-wise Spillable Aggregate/Distinct operators to replace the original Spill implementation based on sorted aggregation, significantly improving aggregation performance and reducing read/write overhead in complex and high-cardinality GROUP BY scenarios. #60216
  • Flat JSON V2:
    • Supports configuring Flat JSON on the table level. #57379
    • Enhance JSON columnar storage by retaining the V1 mechanism while adding page- and segment-level indexes (ZoneMaps, Bloom filters), predicate pushdown with late materialization, dictionary encoding, and integration of a low-cardinality global dictionary to significantly boost execution efficiency. #60953
  • Supports an adaptive ZoneMap index creation strategy for the STRING data type. #61960

Functions and SQL Syntax

  • Added the following functions:
  • Provides the following syntactic extensions:
    • Supports IF NOT EXISTS keywords in CREATE ANALYZE FULL TABLE. #59789
    • Supports EXCLUDE clauses in SELECT. #57411
    • Supports FILTER clauses in aggregate functions, improving readability and execution efficiency of conditional aggregations. #58937

3.5.5

05 Sep 03:26
fd4e51b

Choose a tag to compare

Release date: September 5, 2025

Improvements

  • Added a new system variable enable_drop_table_check_mv_dependency (default: false). When set to true, if the object to be dropped is referenced by a downstream materialized view, the system prevents the execution of DROP TABLE / DROP VIEW / DROP MATERIALIZED VIEW. The error message lists the dependent materialized views and suggests checking the sys.object_dependencies view for details. #61584
  • Logs now include the Linux distribution and CPU architecture of the build, to facilitate issue reproduction and troubleshooting. Log format: ... build <hash> distro <id> arch <arch>. #62017
  • Persisted per-Tablet index and incremental column group file sizes are now cached, replacing on-demand directory scans. This accelerates Tablet status reporting in BE and reduces latency under high I/O scenarios. #61901
  • Downgraded several high-frequency INFO logs in FE and BE to VLOG, and aggregated task submission logs, significantly reducing redundant storage-related logs and log volume under heavy load. #62121
  • Improved query performance for External Catalog metadata through information_schema by pushing table filters before calling getTable, avoiding per-table RPCs. #62404

Bug Fixes

The following issues have been fixed:

  • NullPointerException when fetching partition-level column statistics during the Plan stage due to missing data. #61935
  • Fixed Parquet write issues with non-empty NULL arrays, and corrected SPLIT(NULL, …) behavior to consistently return NULL, preventing data corruption and runtime errors. #61999
  • Failure when creating materialized views using CASE WHEN expressions due to incompatible VARCHAR type returns (fixed by ensuring consistency before and after refresh, and introducing a new FE configuration transform_type_prefer_string_for_varchar to prefer STRING and avoid length mismatch). #61996
  • Statistics for nested CTEs could not be computed outside of memo when enable_rbo_table_prune was false. #62070
  • In Audit Logs, inaccurate Scan Rows results for INSERT INTO SELECT statements. #61381
  • ExceptionInInitializerError/NullPointerException during initialization caused FE startup failure when Query Queue v2 was enabled. #62161
  • BE crash when LakePersistentIndex initialization failed and _memtable cleanup was triggered. #62279
  • Permission issues during materialized view refresh due to creator roles not being activated (fixed by adding FE configuration mv_use_creator_based_authorization. When set to false, materialized views are refreshed as root, for compatibility with LDAP-authenticated clusters). #62396
  • Materialized view refresh failures caused by case-sensitive List partition table names (fixed by enforcing case-insensitive uniqueness checks on partition names, aligning with OLAP table semantics). #62389

3.3.18

28 Aug 07:43
3eebebb

Choose a tag to compare

3.3.18

Release Date: August 28, 2025

Bug Fixes

The following issues have been fixed:

  • BE crashes when LakePersistentIndex initialization failed due to cleanup of _memtable. #62279
  • A concurrency issue caused by missing locks when retrieving the maximum Tablet version in the replication transaction manager. #62238
  • A hang issue in the phased scheduler, which waited indefinitely during synchronous Profile collection (after the fix, the system correctly terminates Profile collection when scheduling errors occur). #62140
  • Exception handling issues in low-cardinality optimization under the ALLOW_THROW_EXCEPTION mode (after the fix, exceptions in expression evaluation are properly caught and returned). #62098
  • FThe system failed to compute nested CTE statistics outside of the memo during table pruning when enable_rbo_table_prune was set to false. #62070
  • CVE-2025-55163 issue. #62041
  • An issue where split_morsel_queue nested inside partition_morsel_queue failed to correctly receive the Tablet Schema. #62034
  • Incorrect handling of NULL arrays during Parquet writes, which could cause data inconsistency or crashes (after the fix, the system ensures the split function can correctly handle NULL input strings). #61999
  • Failure when creating materialized views using CASE WHEN expressions due to incompatible return types of VARCHAR (after the fix, the system ensures consistency before and after refresh). #61996
  • A concurrency safety issue caused by long operations holding shard-level locks while calculating compression scores. #61899
  • An incomplete table pruning issue in CBO caused by pruning logic not considering all relevant predicates. #61881

3.4.7

01 Sep 11:20
35f3775

Choose a tag to compare

Release Date: September 1, 2025

Bug Fixes

The following issues have been fixed:

  • max_filter_ratio is not persisted for Routine Load jobs. #61755
  • In Stream Load, the now(precision) function lost the precision parameter. #61721
  • In Audit Log, the Scan Rows result for INSERT INTO SELECT statements was inaccurate. #61381
  • After upgrading the cluster to v3.4.5, the fslib read iops metric increased compared to before the upgrade. #61724
  • Queries against SQLServer using JDBC Catalog often got stuck. #61719