Skip to content

Releases: StarRocks/starrocks

3.3.18

28 Aug 07:43
3eebebb
Compare
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
Compare
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

3.5.4

22 Aug 11:48
1ce07c8
Compare
Choose a tag to compare

Release Date: August 22, 2025

Improvements

  • Added logs to clarify the reason that tablets cannot be repaired.  #61959
  • Optimized DROP PARTITION information in logs.  #61787
  • Assigned a large but configurable row count to tables with unknown stats for statistical estimation.  #61332
  • Added balance statistic according to label location.  #61905
  • Added colocate group balance statistics to improve cluster monitoring. #61736
  • Skipped the Publish waiting phase when the number of healthy replicas exceeds the default replica count. #61820
  • Included the tablet information collection time in the tablet report. #61643
  • Supports writing Starlet files with tags.  #61605
  • Supports viewing cluster balance statistics via SHOW PROC.  #61578
  • Bumped librdkafka to 2.11.0 to support Kafka 4.0 and removed deprecated configurations.  #61698
  • Added prepared_timeout configuration to Stream Load Transaction Interface.  #61539
  • Upgraded StarOS to v3.5‑rc3.  #61685

Bug Fixes

The following issues have been fixed:

  • Incorrect Dict version of random distribution tables. #61933
  • Incorrect query context in context conditions. #61929
  • Publish failures caused by synchronous Publish for shadow tablets during ALTER operations. #61887
  • CVE‑2025‑55163 issue.  #62041
  • Memory leak in real-time data ingestion from Apache Kafka.  #61698
  • Incorrect count of rebuild files in the lake persistent index. #61859
  • Statistics collection on generated expression columns causes cross-database query errors. #61829
  • Query Cache misaligns in shared-nothing clusters, causing inconsistent results. #61783
  • High memory usage in CatalogRecycleBin due to retaining deleted partition information.#61582
  • SQL Server JDBC connections fail when the timeout exceeds 65,535 milliseconds. #61719
  • Security Integration fails to encrypt passwords, exposing sensitive information. #60666
  • MIN() and MAX() functions on Iceberg partition columns return NULL unexpectedly.  #61858
  • Other predicates of Join containing non‑push‑down subfields were incorrectly rewritten.  #61868
  • QueryContext cancellation can lead to a use‑after‑free situation.  #61897
  • CBO’s table pruning overlooks other predicates.  #61881
  • Partial Updates in COLUMN_UPSERT_MODE may overwrite auto-increment columns with zero.  #61341
  • JDBC TIME type conversion uses an incorrect timezone offset that leads to wrong time values. #61783
  • max_filter_ratio was not being serialized in Routine Load jobs. #61755
  • Precision loss in the now(precision) function in Stream Load. #61721
  • Cancelling a query may result in a “query id not found” error. #61667
  • LDAP authentication may miss PartialResultException, causing incomplete query results. #60667
  • Paimon Timestamp timezone conversion issue when the query condition contains DATETIME. #60473

3.5.3

11 Aug 07:30
799f68c
Compare
Choose a tag to compare

Release Date: August 11, 2025

Feature Enhancements

  • Lake Compaction adds Segment write time statistics. #60891
  • Disable inline mode for Data Cache writes to avoid performance degradation. #60530
  • Iceberg metadata scan supports shared file I/O. #61012
  • Support termination of all PENDING ANALYZE tasks. #61118
  • Force reuse when there are too many CTE nodes to avoid excessive optimization time. #60983
  • Added BALANCE type to cluster balance results. #61081
  • Optimized materialized view rewrite for external tables. #61037
  • Default value of system variable enable_materialized_view_agg_pushdown_rewrite is changed to true, enabling aggregation pushdown for materialized view queries by default. #60976
  • Optimized partition statistics lock competition. #61041

Bug Fixes

The following issues have been fixed:

  • Inconsistent Chunk column size after column pruning. #61271
  • Synchronous execution of partition statistics loading may cause deadlocks. #61300
  • Crash when array_map processes constant array columns. #61309
  • Setting an auto-increment column to NULL results in the system mistakenly rejecting valid data within the same Chunk. #61255
  • The actual number of JDBC connections may exceed the jdbc_connection_pool_size limit. #61038
  • FQDN mode did not use IP addresses as cache map keys. #61203
  • Array column cloning error during array comparison. #61036
  • Deploying serialized thread pool blockage led to query performance degradation. #61150
  • OK hbResponse not synchronized after heartbeat retry counter reset. #61249
  • Incorrect result for the hour_from_unixtime function. #61206
  • Conflicts between ALTER TABLE jobs and partition creation. #60890
  • Cache does not take effect after upgrading from v3.3 to v3.4 or later. #60973
  • Vector index metric hit_count is not set. #61102
  • Stream Load transactions fail to find the coordinator node. #60154
  • BE crashes when loading OOM partitions. #60778
  • INSERT OVERWRITE failed on manually created partitions. #60750
  • Partition creation failed when partition names matched case-insensitively but had different values. #60909
  • The system does not support PostgreSQL UUID type. #61021
  • Case sensitivity issue with column names when loading Parquet data via FILES(). #61059

3.3.17

31 Jul 09:38
3eac4a9
Compare
Choose a tag to compare

v3.3.17

Release Date: July 30, 2025

Bug Fixes

The following issues have been fixed:

  • Upgraded HttpClient5 to 5.4.3. #61298
  • Incorrect cpu_core_used_permille limit in resource groups. #61177
  • Conflict between ALTER jobs and partition creation tasks. #61167
  • NPE caused by missing globalStateMgr in ConnectContext. #60880
  • Partition creation failed when partition names matched case-insensitively but had different values. #60909
  • Lock competition caused by synchronous access to partition statistics. #61041
  • ANALYZE tasks stuck in pending state after FE restart. #61113
  • Issue with JIT (Just-In-Time) compilation in BE. #61060
  • Leader address issue in Starmgr. #61016
  • CVE vulnerabilities in Broker. #60908
  • Actual number of JDBC connections exceeded jdbc_connection_pool_size limit. #61004
  • CVE-2022-41404 vulnerability. #59689
  • CVEs related to Parquet and HttpClient5. #58750
  • Partition not removed from _partition_map when physical partition ID was empty. #60842
  • Missing version check in shared-data clusters. #59422
  • Transaction log missing when publishing logs in batches in shared-data clusters. #60949
  • Concurrent publishing of the same transaction when Batch Publish is enabled in shared-data clusters. #57574
  • Statistics overwrite issue caused by lack of semi-synchronous mode. #60897
  • Inaccurate maxInstantTime used for filtering Hudi files when retrieving latest merged file slices. #60927
  • TaskRun state incompatible with earlier versions. #60438
  • CVE-2025-52999 vulnerability. #60795
  • Vulnerability caused by log4j-1.2.17-cloudera6 in Broker. #59579
  • BE crash when loading OOM partitions. #60778
  • Base Compaction tasks blocking other compaction tasks. #60711
  • Inefficient handling of error string truncation. #60878
  • Materialized view rewrite failed in multi-FE environments. #60841
  • INSERT OVERWRITE failed on manually created partitions. #60750
  • Issue caused by using random distribution in aggregate keys. #60702
  • Crash caused by low cardinality rewrite in multi_distinct_count. #60664
  • Issue with Pivot resolving fields. #60748
  • Upgraded hudi-common to 1.0.2. #59501
  • BE crash when CLONE and DROP TABLE run concurrently. #61359

3.4.6

07 Aug 07:58
f6c2543
Compare
Choose a tag to compare

Release Date: August 7, 2025

Improvements

  • When exporting data to Parquet files using INSERT INTO FILES, you can now specify the Parquet version via the parquet.version property to improve compatibility with other tools when reading the exported files. #60843

Bug Fixes

The following issues have been fixed:

  • Loading jobs failed due to overly coarse lock granularity in TableMetricsManager. #58911
  • Case sensitivity issue in column names when loading Parquet data via FILES(). #61059
  • Cache did not take effect after upgrading a shared-data cluster from v3.3 to v3.4 or later. #60973
  • A division-by-zero error occurred when the partition ID was null, causing a BE crash. #60842
  • Broker Load jobs failed during BE scaling. #60224

Behavior Changes

  • The keyword column in the information_schema.keywords view has been renamed to word to align with the MySQL definition. #60863

3.5.2

21 Jul 02:11
69de616
Compare
Choose a tag to compare

Release Date: July 18, 2025

Improvements

  • Collected NDV (number of distinct values) statistics for ARRAY columns to improve query plan accuracy. #60623
  • Disabled replica balancing for Colocate tables and tablet scheduling in Shared-data clusters to reduce unnecessary log output. #60737
  • Optimized Catalog access workflow: FE now delays accessing external data sources asynchronously at startup to prevent hanging due to external service unavailability. #60614
  • Added session variable enable_predicate_expr_reuse to control predicate pushdown. #60603
  • Supports a retry mechanism when fetching Kafka partition information fails. #60513
  • Removed the restriction requiring exact mapping of partition columns between materialized views and base tables. #60565
  • Supports building Runtime In-Filters to enhance aggregation performance by filtering data during aggregation. #59288

Bug Fixes

Fixed the following issues:

  • COUNT DISTINCT queries crash due to low-cardinality optimization for multiple columns. #60664
  • Incorrect matching of global UDFs when multiple functions share the same name. #60550
  • Null pointer exception (NPE) issue during Stream Load import. #60755
  • Null pointer exception (NPE) issue when starting FE during a recovery from a cluster snapshot. #60604
  • BE crash caused by column mode mismatch when processing short-circuit queries with out-of-order values. #60466
  • Session variables set via PROPERTIES in SUBMIT TASK statements did not take effect. #60584
  • Incorrect results for SELECT min/max queries under specific conditions. #60601
  • Incorrect bucket pruning when the left side of a predicate is a function, leading to incorrect query results. #60467
  • Crash for queries against a non-existent query_id via Arrow Flight SQL. #60497

Behavior Changes

  • The default value of lake_compaction_allow_partial_success is set to true. Compaction operations can now be marked as successful even if partially completed, preventing blockage of subsequent compaction tasks. #60643

3.4.5

11 Jul 05:54
1207fa7
Compare
Choose a tag to compare

Release Date: July 10, 2025

Improvements

  • Enhanced observability of loading job execution: Unified the runtime information of loading tasks into the information_schema.loads view. Users can view the execution details of all INSERT, Broker Load, Stream Load, and Routine Load subtasks in this view. Additional fields have been added to help users better understand the status of loading tasks and the association with parent jobs (PIPES, Routine Load Jobs).
  • Support modifying kafka_broker_list via the ALTER ROUTINE LOAD statement.

Bug Fixes

The following issues have been fixed:

  • Under high-frequency loading scenarios, Compaction could be delayed. #59998
  • Querying Iceberg external tables via Unified Catalog would throw an error: not support getting unified metadata table factory. #59412
  • When using DESC FILES() to view CSV files in remote storage, incorrect results were returned because the system mistakenly inferred xinf as the FLOAT type. #59574
  • INSERT INTO could cause BE to crash when encountering empty partitions. #59553
  • When StarRocks reads Equality Delete files in Iceberg, it could still access deleted data if the data had already been removed from the Iceberg table. #59709
  • Query failures caused by renaming columns. #59178

Behavior Changes

  • The default value of the BE configuration item skip_pk_preload has been changed from false to true. As a result, the system will skip preloading Primary Key Indexes for Primary Key tables to reduce the likelihood of Reached Timeout errors. This change may increase query latency for operations that require loading Primary Key Indexes.

v3.5.1

02 Jul 02:19
d550b36
Compare
Choose a tag to compare

Release Date: July 1, 2025

New Features

  • [Experimental] Starting from v3.5.1, StarRocks introduces a high-performance data transfer channel based on the Apache Arrow Flight SQL protocol, comprehensively optimizing the data import channel and significantly improving transfer efficiency. This solution establishes a fully columnar data transfer pipeline from the StarRocks columnar execution engine to the client, eliminating the frequent row-column conversions and serialization overhead typically seen in traditional JDBC and ODBC interfaces, and achieving true zero-copy, low-latency, and high-throughput data transfer capabilities. #57956
  • Java Scalar UDFs (user-defined functions) now support ARRAY and MAP types as input parameters. #55356
  • Cross-node data cache sharing: Enables nodes to share cached external table data of data lakes across compute nodes via the network. If a local cache miss occurs, the system first attempts to fetch data from the caches of other nodes within the same cluster. Only if all caches miss will it re-fetch data from remote storage. This feature effectively reduces performance jitter caused by cache invalidation during elastic scaling and ensures stable query performance. A new FE configuration parameter enable_trace_historical_node controls this behavior (Default: false). #57083
  • Storage Volume adds native support for Google Cloud Storage (GCS): You can now use GCS as a backend storage volume and manage and access GCS resources through the native SDK. #58815

Improvements

  • Optimized error messages when creating Hive external tables fails. #60076
  • Optimized count(1) query performance using the file_record_count in Iceberg metadata. #60022
  • Refined the Compaction scheduling logic to avoid delayed scheduling when all subtasks succeed. #59998
  • Added JAVA_OPTS="--add-opens=java.base/java.util=ALL-UNNAMED" to BE and CN after upgrading to JDK 17. #59947
  • Supports modifying the kafka_broker_list property via the ALTER ROUTINE LOAD command when Kafka Broker endpoints change. #59787
  • Supports reducing build dependencies of the Docker base image through parameters. #59772
  • Supports accessing Azure using Managed Identity authentication. #59657
  • Improved error messages when querying external data via Files() function with duplicate path column names. #59597
  • Optimized LIMIT pushdown logic. #59265

Bug Fixes

Fixed the following issues:

  • Partition pruning issue when queries include Max and Min aggregations and empty partitions. #60162
  • Incorrect query results when rewriting queries with materialized views due to missing NULL partitions. #60087
  • Refresh errors on Iceberg external tables when using partition expressions based on str2date. #60089
  • Incorrect partition range when creating temporary partitions using the START END syntax. #60014
  • Incorrect display of Routine Load metrics on non-leader FE nodes. #59985
  • BE/CN crashes when executing queries containing COUNT(*) window functions. #60003
  • Stream Load failures when the target table name contains Chinese characters. #59722
  • Overall loading failures to triple-replica tables when loading to a secondary replica fails. #59762
  • Missing parameters in SHOW CREATE VIEW output. #59714

Behavior Changes

  • Some FE metrics include the is_leader label. #59883

3.3.16

04 Jul 08:58
a81c69f
Compare
Choose a tag to compare

3.3.16

Release Date: July 4, 2025

Improvements

  • Optimized error logs when creating Hive tables with duplicate names. #60076
  • Added the FE parameter slow_lock_print_stack to prevent process stalls in large clusters when printing thread stacks. #59967
  • Reduced unnecessary locks during tablet scheduling. #59744

Bug Fixes

Fixed the following issues:

  • SplitOR fails to prune scan columns. #60223
  • Incorrect query plan for null-aware left anti joins. #60119
  • Incorrect query results when rewriting queries with materialized views due to missing NULL partitions. #60087
  • Partition pruning errors when tables contain empty partitions. #60162
  • Refresh errors on Iceberg external tables when using partition expressions based on str2date. #60089
  • Unexpected behavior caused by materialized view schema changes. #60079
  • Issues related to low-cardinality global dictionaries in UNION operators. #60075
  • Incorrect partition ranges for temporary partitions created using the START END syntax. #60014
  • Lock issues with SUBMIT TASK. #60026
  • Partial updates fail on Primary Key tables under certain conditions. #60052
  • Crashes caused by BE failing to create directories due to a lack of permissions to access storage paths. #60028
  • Cache failures due to cache key duplication in concurrent scenarios. #60053
  • Hive table metadata background refresh failure in Unified Catalog. #55215
  • Query failures caused by incorrect return types of CASE WHEN. #59972
  • Query failures when Delta Lake tables UNION themselves. #60030
  • Partition creation failure when writing to multiple tables within the same transaction. #59954
  • Queries could return empty results instead of errors when tablet versions were updated during execution. #53060
  • Queries against modified columns in a table return null after upgrading to v3.4. #59941
  • Authentication information is printed in logs. #59907
  • Metadata refresh failures for external tables in Hive Catalog. #54596
  • CACHE SELECT failures for tables after schema changes. #59812
  • Broker Load could not recover after FE Leader shifts. #59732
  • Stream Load failures when the target table name contains Chinese characters. #59722
  • Incorrect query results in external tables due to search key hash collisions (affecting Iceberg/Delta/Paimon). #59781