Release date: November 28, 2023
New features
- The CN nodes of a StarRocks shared-data cluster now support data export. https://github.com/StarRocks/starrocks/pull/34018
Improvements
- The [COLUMNS](https://github.com/StarRocks/starrocks/blob/main/docs/en/reference/information_schema/columns.md) view in the system database INFORMATION_SCHEMA can display ARRAY, MAP, and STRUCT columns. https://github.com/StarRocks/starrocks/pull/33431
- Supports queries against Parquet, ORC, and CSV formatted files that are compressed by using LZO and stored in [Hive](https://github.com/StarRocks/starrocks/blob/main/docs/en/data_source/catalog/hive_catalog.md). https://github.com/StarRocks/starrocks/pull/30923 https://github.com/StarRocks/starrocks/pull/30721
- Supports updates onto the specified partitions of an automatically partitioned table. If the specified partitions do not exist, an error is returned. https://github.com/StarRocks/starrocks/pull/34777
- Supports automatic refresh of materialized views when Swap, Drop, or Schema Change operations are performed on the tables and views (including the other tables and materialized views associated with these views) on which these materialized views are created. https://github.com/StarRocks/starrocks/pull/32829
- Optimized the performance of some Bitmap-related operations, including:
- Optimized nested loop joins. https://github.com/StarRocks/starrocks/pull/34804 https://github.com/StarRocks/starrocks/pull/35003
- Optimized the bitmap_xor function. https://github.com/StarRocks/starrocks/pull/34069
- Supports Copy on Write to optimize Bitmap performance and reduce memory consumption. https://github.com/StarRocks/starrocks/pull/34047
Bug Fixes
Fixed the following issues:
- If a filtering condition is specified in a Broker Load job, BEs may crash during the data loading in certain circumstances. https://github.com/StarRocks/starrocks/pull/29832
- An unknown error is reported when SHOW GRANTS is executed. https://github.com/StarRocks/starrocks/pull/30100
- When data is loaded into a table that uses expression-based automatic partitioning, the error "Error: The row create partition failed since Runtime error: failed to analyse partition value" may be thrown. https://github.com/StarRocks/starrocks/pull/33513
- The error "get_applied_rowsets failed, tablet updates is in error state: tablet:18849 actual row size changed after compaction" is returned for queries. https://github.com/StarRocks/starrocks/pull/33246
- In a StarRocks shared-nothing cluster, queries against Iceberg or Hive tables may cause BEs to crash. https://github.com/StarRocks/starrocks/pull/34682
- In a StarRocks shared-nothing cluster, if multiple partitions are automatically created during data loading, the data loaded may occasionally be written to unmatched partitions. https://github.com/StarRocks/starrocks/pull/34731
- Long-time, frequent data loading into a Primary Key table with persistent index enabled may cause BEs to crash. https://github.com/StarRocks/starrocks/pull/33220
- The error "Exception: java.lang.IllegalStateException: null" is returned for queries. https://github.com/StarRocks/starrocks/pull/33535
- When show proc '/current_queries'; is being executed and meanwhile a query begins to be executed, BEs may crash. https://github.com/StarRocks/starrocks/pull/34316
- Errors may be thrown if large amounts of data are loaded into a Primary Key table with persistent index enabled. https://github.com/StarRocks/starrocks/pull/34352
- After StarRocks is upgraded from v2.4 or earlier to a later version, compaction scores may rise unexpectedly. https://github.com/StarRocks/starrocks/pull/34618
- If INFORMATION_SCHEMA is queried by using the database driver MariaDB ODBC, the CATALOG_NAME column returned in the schemata view holds only null values. https://github.com/StarRocks/starrocks/pull/34627
- FEs crash due to the abnormal data loaded and cannot restart. https://github.com/StarRocks/starrocks/pull/34590
- If schema changes are being executed while a Stream Load job is in the PREPARD state, a portion of the source data to be loaded by the job is lost. https://github.com/StarRocks/starrocks/pull/34381
- Including two or more slashes (/) at the end of the HDFS storage path causes the backup and restore of the data from HDFS to fail. https://github.com/StarRocks/starrocks/pull/34601
- Setting the session variable enable_load_profile to true makes Stream Load jobs prone to fail. https://github.com/StarRocks/starrocks/pull/34544
- Performing partial updates in column mode onto a Primary Key table causes some tablets of the table to show data inconsistencies between their replicas. https://github.com/StarRocks/starrocks/pull/34555
- The partition_live_number property added by using the ALTER TABLE statement does not take effect. https://github.com/StarRocks/starrocks/pull/34842
- FEs fail to start and report the error "failed to load journal type 118". https://github.com/StarRocks/starrocks/pull/34590
- Setting the FE parameter recover_with_empty_tablet to true may cause FEs to crash. https://github.com/StarRocks/starrocks/pull/33071
- Failures in replaying replica operations may cause FEs to crash. https://github.com/StarRocks/starrocks/pull/32295
Compatibility Changes
Parameters
- Added an FE configuration item [enable_statistics_collect_profile](https://github.com/StarRocks/starrocks/blob/main/docs/en/administration/Configuration.md#enable_statistics_collect_profile), which controls whether to generate profiles for statistics queries. The default value is false. https://github.com/StarRocks/starrocks/pull/33815
- The FE configuration item [mysql_server_version](https://github.com/StarRocks/starrocks/blob/main/docs/en/administration/Configuration.md#mysql_server_version) is now mutable. The new setting can take effect for the current session without requiring an FE restart. https://github.com/StarRocks/starrocks/pull/34033
- Added a BE/CN configuration item [update_compaction_ratio_threshold](https://github.com/StarRocks/starrocks/blob/main/docs/en/administration/Configuration.md#update_compaction_ratio_threshold), which controls the maximum proportion of data that a compaction can merge for a Primary Key table in a StarRocks shared-data cluster. The default value is 0.5. We recommend shrinking this value if a single tablet becomes excessively large. For a StarRocks shared-nothing cluster, the proportion of data that a compaction can merge for a Primary Key table is still automatically adjusted. https://github.com/StarRocks/starrocks/pull/35129
System Variables
- Added a session variable cbo_decimal_cast_string_strict, which controls how the CBO converts data from the DECIMAL type to the STRING type. If this variable is set to true, the logic built in v2.5.x and later versions prevails and the system implements strict conversion (namely, the system truncates the generated string and fills 0s based on the scale length). If this variable is set to false, the logic built in versions earlier than v2.5.x prevails and the system processes all valid digits to generate a string. The default value is true. https://github.com/StarRocks/starrocks/pull/34208
- Added a session variable cbo_eq_base_type, which specifies the data type used for data comparison between DECIMAL-type data and STRING-type data. The default value is VARCHAR, and DECIMAL is also a valid value. https://github.com/StarRocks/starrocks/pull/34208
- Added a session variable big_query_profile_second_threshold. When the session variable [enable_profile](https://github.com/StarRocks/starrocks/blob/main/docs/en/reference/System_variable.md#enable_profile) is set to false and the amount of time taken by a query exceeds the threshold specified by the big_query_profile_second_threshold variable, a profile is generated for that query. https://github.com/StarRocks/starrocks/pull/33825