Releases: StarRocks/starrocks
Releases · StarRocks/starrocks
3.3.18
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 tofalse
. #62070 - CVE-2025-55163 issue. #62041
- An issue where
split_morsel_queue
nested insidepartition_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 thesplit
function can correctly handleNULL
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
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
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()
andMAX()
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
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 totrue
, 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
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
inConnectContext
. #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
Release Date: August 7, 2025
Improvements
- When exporting data to Parquet files using
INSERT INTO FILES
, you can now specify the Parquet version via theparquet.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 theinformation_schema.keywords
view has been renamed toword
to align with the MySQL definition. #60863
3.5.2
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 totrue
. Compaction operations can now be marked as successful even if partially completed, preventing blockage of subsequent compaction tasks. #60643
3.4.5
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 theALTER 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 inferredxinf
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 fromfalse
totrue
. As a result, the system will skip preloading Primary Key Indexes for Primary Key tables to reduce the likelihood ofReached Timeout
errors. This change may increase query latency for operations that require loading Primary Key Indexes.
v3.5.1
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 thefile_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
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