StarRocks version 2.5
2.5.20
发布日期:2024 年 3 月 22 日
功能优化
参数变更
- BE 参数
update_compaction_size_threshold
默认值从 256 MB 调整为 64 MB,可以更快执行compaction。#42776
问题修复
修复了如下问题:
- 通过 StarRocks 外表同步数据时,第一次同步报错 "commit and publish txn failed",重试后成功,但相同的数据会导入两份。原因是 commit 超时按照失败处理了,导致做了两次。#25165
- RPC 传输资源会因为 GC 问题导致临时不可用。#41636
- 2.5 版本上的 array_agg() 对于 NULL 在序列化时的处理和 2.3 版本不一致,导致升级过程中查询结果不正确。#42639
- Query 中的异步任务算子 Sink Operator 退出处理有问题,导致 BE crash。#38662
- 对聚合表新增 DELETE SQL 任务后,因访问 tablet 元数据有竞争冲突,导致 BE crash。#42174
- 调用 UDF 时内存统计(MemTracker)使用有 Use-After-Free 问题,导致 BE crash。#41710
- 2.5 版本 unnest() 函数查询时不能使用别名,之前版本是可以的。#42138
2.5.19
发布日期:2024 年 2 月 8 日
新增特性
- 新增模糊/正则匹配函数:regexp_extract_all。
- 新增 Bitmap 取值的处理函数:serialize、deserialize、serializeToString。 #40162
功能优化
- 在刷新物化视图时,尝试自动激活失效的物化视图。 #38521
- 优化 BE 的日志打印,避免日志过多。 #22820 #36187
- 可以使用 Hive UDF 导入/导出/处理 StarRocks 中的 Bitmap 数据。 #40165 #40168
- 对于分区字段为 TIMESTAMP 类型的 Iceberg 表,新增
yyyy-MM-ddTHH:mm
和yyyy-MM-dd HH:mm
两种数据格式的支持。 #39986
问题修复
修复了如下问题:
- Spark Load 创建导入任务时,不指定 PROPERTIES 会导致空指针异常 (NPE)。 #38765
- INSERT INTO SELECT 偶尔会超时报错 "timeout by txn manager"。 #36688
- PageCache 内存占用在有些情况下会超过 BE 动态参数
storage_page_cache_limit
设定的阈值。 #37740 - 当基表删除重建后,异步物化视图刷新失败。 #38008 #38982
- SELECT INTO S3 偶尔会报错 "The tablet write operation update metadata take a long time"。 #38443
- 导入过程中某些操作会出现报错 "reached timeout"。 #36746
- DECIMAL 类型数据在 SHOW CREATE TABLE 中展示的和创建时不一致。 #39297
- 如果外表的分区列有取值是 null,查询时会导致 BE Crash。 #38888
- 从明细表删除数据时,如果 DELETE 语句的 WHERE 条件中有空格,数据删除后还能查到。 #39797
- 导入 ORC 文件中
array<string>
到 StarRocks 时转为array<json>
,可能引起 BE crash。 #39233 - 查询 Hive Catalog 某些情况下 会出现卡住直到超时。 #39863
- 动态分区日期类型为小时的时候会创建失败。 #40256
- Flink 导入报错 "failed to call frontend service"。 #40710
2.5.18
发布日期:2024 年 1 月 10 日
新增特性
功能优化
- 使用 JDK 时 GC 算法默认采用 G1。#37498
- SHOW ROUTINE LOAD 返回结果中增加时间戳进度信息,展示各个分区当前消费消息的时间戳。#36222
行为变更
- 新增 Session 变量
enable_materialized_view_for_insert
,默认值为FALSE
,即物化视图默认不改写 INSERT INTO SELECT 语句中的查询。#37505 - 新增 Session 变量
enable_strict_order_by
。当取值为默认值TRUE
时,如果查询中的输出列存在不同的表达式使用重复别名的情况,且按照该别名进行排序,查询会报错,例如select distinct t1.* from tbl1 t1 order by t1.k1;
。该行为和 2.3 及之前版本的逻辑一致。如果取值为FALSE
,采用宽松的去重机制,把这类查询作为有效 SQL 处理。#37910
参数变更
- 新增 Session 变量
transaction_read_only
和tx_read_only
,设置事务的访问模式并且兼容 MySQL 5.7.20 以上的版本。#37249 - 新增 FE 配置项
routine_load_unstable_threshold_second
。#36222 - 新增 FE 配置项
http_worker_threads_num
,HTTP Server 用于处理 HTTP 请求的线程数。默认取值为 0。如果配置为负数或 0 ,线程数将设置为 CPU 核数的 2 倍。#37530 - 新增 BE 配置项
pindex_major_compaction_limit_per_disk
,配置每块盘 Compaction 的最大并发数,用于解决 Compaction 在磁盘之间不均衡导致个别磁盘 I/O 过高的问题,默认取值为 1。#37695
问题修复
修复了如下问题:
- 使用非数列 (NaN 列) 进行排序可能导致 BE crash。#30759
- 更新主键索引失败可能导致 "get_applied_rowsets failed"。#27488
- Hive Catalog 的元数据在 Hive 表新增字段后不会自动刷新。#37668
SELECT ... FROM ... INTO OUTFILE
导出至 CSV 时,如果 FROM 子句中包含多个常量,执行时会报错:"Unmatched number of columns"。#38045