StarRocks version 2.3
2.3.18
发布日期: 2023 年 10 月 11 日
问题修复
修复了如下问题:
- 第三方库 librdkafka 的缺陷,会导致 Routine Load 中导入任务消费时被卡住,新建的导入任务也无法执行。#28301
- 由于内存统计不准确有几率会导致 Spark 或者 Flink connector 读取数据报错。#31200 #30751
- Stream Load 中包括
if
关键字时,会引起 BE crash。#31926 - 向有分区的 StarRocks 外表写入数据时有报错
"get TableMeta failed from TNetworkAddress"
。#30466
2.3.17
发布日期: 2023 年 9 月 4 日
问题修复
修复了如下问题:
2.3.16
发布日期: 2023 年 8 月 4 日
问题修复
修复了如下问题:
2.3.15
发布日期: 2023 年 7 月 31 日
功能优化
- 优化 Tablet 调度逻辑,避免某些情况下 Tablet 长时间处于挂起状态或者 FE crash。#21647 #23062 #25785
- 优化 TabletChecker 的调度逻辑,避免重复调度暂时无法修复的 Tablet。#27648
- 分区元信息里面会记录 visibleTxnId,对应 visible version,方便在 Tablet 副本版本号不一致时,追踪当时创建这个版本的 txn。#27924
问题修复
修复了如下问题:
- FE 中表级别 scan 统计信息错误,导致表查询和导入的 metrics 信息不正确。#28022
- 当 Join 列是 BINARY 类型且过大时 BE 会 crash。#25084
- Aggregate 算子在某些情况下会触发线程安全问题,导致 BE crash。#26092
- RESTORE 后同一个 Tablet 在 BE 和 FE 上的 version 不一致。#26518
- RECOVER 的表自动创建分区失败。#26813
- 严格模式下,INSERT INTO 的数据存在质量问题,导入事务会一直处于 pending 状态,导致 DDL 语句卡住。#27140
- 低基数优化开启时,某些情况下 INSERT INTO 导入任务报错
[42000][1064] Dict Decode failed, Dict can't take cover all key :0
。#27395 - 某些情况下 INSERT INTO SELECT 在 Pipeline 未开启时执行超时。#26594
- 如果查询条件为
WHERE partition_column < xxx
,并且所使用的分区列值仅精确至小时,没有精确至分秒,例如2023-7-21 22
,则返回数据为空。#27780
2.3.14
发布日期: 2023 年 6 月 28 日
功能优化
- 优化 CREATE TABLE 超时报错信息,增加参数调整建议。#24510
- 主键表积累大量 Tablet 版本后内存占用的优化。#20760
- StarRocks 外表元数据的同步改为数据加载时进行。#24739
- 解除 NetworkTime 对系统时钟的依赖,以解决系统时钟误差导致 Exchange 网络耗时估算异常的问题。#24858
问题修复
修复了如下问题:
- 对于频繁 TRUNCATE 的小表,应用低基数字典优化时查询报错。#23185
- 对包含 UNION 且第一个孩子是常量 NULL 的 View 进行查询时,会导致 BE crash。#13792
- 基于 Bitmap Index 的查询有些情况下会返回错误。#23484
- BE 中 Round DOUBLE/FLOAT 转换成 DECIMAL 和 FE 不一致。#23152
- Schema change 和数据导入同时进行时 Schema change 偶尔会卡住。#23456
- 使用 Broker Load、Spark Connector、或 Flink Connector 导入 Parquet 文件时偶尔会导致 BE OOM。#25254
- 查询语句中 ORDER BY 后是常量且有 LIMIT 时会报错
unknown error
。#25538
2.3.13
发布日期: 2023 年 6 月 1 日
功能优化
- 优化了因
thrift_server_max_worker_threads
设置过小导致 INSERT INTO ... SELECT 超时场景下的报错信息。 #21964 - 降低多表关联时,使用
bitmap_contains
函数的内存消耗,并优化性能。 #20617、#20653
问题修复
修复了如下问题:
- Truncate 操作对分区名大小写敏感导致 Truncate Partition 失败。 #21809
- 导入的 Parquet 格式文件中含 int96 timestamp 类型数据时,会导致数据溢出。#22355
- 删除物化视图后使用 DECOMMISSION 下线 BE 节点失败。#22743
- 当查询的执行计划包括从 BroadcastJoin 节点至 BucketShuffleJoin 节点,例如
SELECT * FROM t1 JOIN [Broadcast] t2 ON t1.a = t2.b JOIN [Bucket] t3 ON t2.b = t3.c;
,并且 BroadcastJoin 左表等值 Join 的 Key 的数据在进行 BucketShuffleJoin 之前被删除掉了,则会导致 BE crash。#23227 - 当查询的执行计划包括从 CrossJoin 节点至 HashJoin 节点、并且一个 fragment instance 中 HashJoin 的右表为空,则返回结果会不正确。#23877
- 物化视图创建临时分区失败导致 BE 下线卡住。 #22745
- 如果 SQL 语句中 STRING 类型的值包含多个转义字符,则该 SQL 语句解析失败。#23119
- 无法查询分区列最大值的数据。#23153
- StarRocks 2.4 回退到 2.3 后导入作业报错。#23642
- 列裁剪复用问题。#16624
2.3.12
发布日期: 2023 年 4 月 25 日
功能优化
如果表达式的返回值可以合法转换为 Boolean 值,则会对其进行隐式转换。# 21792
问题修复
修复了如下问题:
- 如果用户的 LOAD 权限为表级别,则导入作业失败后导入事务回滚时报错提示
Access denied; you need (at least one of) the LOAD privilege(s) for this operation
。# 21129 - 执行 ALTER SYSTEM DROP BACKEND 删除一个 BE 后,可能会导致该 BE 上的两副本表的副本不能修复,进而导致导入作业因为没有可用的副本而失败。# 20681
- 建表时使用不支持的数据类型,报错信息有误。# 20999
- Broadcast Join 的短路逻辑异常,导致查询结果不正确。# 20952
- 使用物化视图后磁盘占用率大幅增加。# 20590
- 未能彻底卸载插件 Audit Loader。# 20468
INSERT INTO XXX SELECT
返回结果显示的数据行数和SELECT COUNT(*) FROM XXX
返回结果显示的数据行数不一致。# 20084- 如果子查询使用窗口函数,父查询使用 GROUP BY 子句,则查询结果 无法聚合。# 19725
- 启动 BE 后,BE 进程存在但是 BE 所有端口无法开启。# 19347
- 如果磁盘 IO 利用率过高,导致主键表的事务提交过慢,则查询该表时可能会返回报错
backend not found
。# 18835
2.3.11
发布日期: 2023 年 3 月 28 日
功能优化
- 复杂查询会导致大量
ColumnRefOperators
。原先通过BitSet
来存储ColumnRefOperator::id
,会占用较多内存。为了减少内存占用,现在用RoaringBitMap
取代原来的BitSet
来存储ColumnRefOperator::id
。#16499 - 增加新的 I/O 调度策略,降低大查询对小查询的性能影响。如果需要开启新的 I/O 调度策略,则需要在 be.conf 中设置 BE 静态参数
pipeline_scan_queue_mode=1
并重启 BE。#19009