Release 3.0.3
亲爱的社区小伙伴们,Apache Doris 3.0.3 版本已于 2024 年 12 月 02 日正式发布。 该版本进一步提升了系统的性能及稳定性,欢迎大家下载体验。
行为变更
- 禁止在具有同步物化视图的 MOW 表上进行列更新。#40190
- 调整 RoutineLoad 的默认参数以提升导入效率。#42968
- 当 StreamLoad 失败时,LoadedRows 的返回值调整为 0。#41946 #42291
- 将 Segment cache 的默认内存限制调整为 5%。#42308 #42436
新特性
- 引入
enable_cooldown_replica_affinity
会话变量,用以控制冷热分层副本的亲和性。#42677
Lakehouse
异步物化视图
- 引入新的物化视图属性
use_for_rewrite
。当use_for_rewrite
设置为 false 时,物化视图不参与透明改写。#40332
查询优化器
- 支持关联非聚合子查询。#42236
查询执行
- 增加了
ngram_search
、normal_cdf
、to_iso8601
、from_iso8601_date
、SESSION_USER()
、last_query_id
函数。#38226 #40695 #41075 #41600 #39575 #40739 aes_encrypt
和aes_decrypt
函数支持 GCM 模式。#40004- Profile 中输出变更的会话变量值。#41016 #41318
半结构化数据管理
- 新增数组函数
array_match_all
和array_match_any
。#40605 #43514 - 数组函数
array_agg
支持在 ARRAY 中嵌套 ARRAY/MAP/STRUCT。#42009 - 新增近似聚合统计函数
approx_top_k
和approx_top_sum
。#44082
改进与优化
存储
- 支持将
bitmap_empty
作为默认值。#40364 - 引入
insert_timeout
会话变量,用以控制 DELETE 语句的超时时间。#41063 - 改进部分错误提示信息。#41048 #39631
- 改进副本修复的优先级调度。#41076
- 提高了建表时对时区处理的鲁棒性。#41926 #42389
- 在创建表时检查分区表达式的合法性。#40158
- 在 DELETE 操作时支持 Unicode 编码的列名。#39381
存算分离
- 存算分离模式支持 ARM 架构部署。#42467 #43377
- 优化文件缓存的淘汰策略和锁竞争,提高命中率及高并发点查性能。#42451 #43201 #41818 #43401
- S3 storage vault 支持
use_path_style
,解决对象存储使用自定义域名的问题。#43060 #43343 #43330 - 优化存算分离配置及部署,预防不同模式下的误操作。#43381 #43522 #43434 #40764 #43891
- 优化可观测性,并提供删除指定 segment file cache 的接口。#38489 #42896 #41037 #43412
- 优化 Meta-service 运维接口:RPC 限速及修复 tablet 元数据修正。#42413 #43884 #41782 #43460
Lakehouse
-
优化了访问 External Catalog 中
information_schema.columns
表的性能。#41659 #41962 -
使用新的 Max Compute 开放存储 API 访问 Max Compute 数据源。#41614
-
优化了 Paimon 表 JNI 部分的调度策略,使得扫描任务更加均衡。#43310
-
支持读取 brotli 压缩格式的 parquet 文件。#42177
-
在
information_schema
库下新增file_cache_statistics
表,用于查看元数据缓存统计信息。#42160
查询优化器
- 优化:当查询仅注释不同时,可以复用同一个 SQL Cache。#40049
- 优化:提升了在数据频繁更新时统计信息的稳定性。#43865 #39788 #43009 #40457 #42409 #41894
- 优化:提升常量折叠的稳定性。#42910 #41164 #39723 #41394 #42256 #40441
- 优化:列裁剪可以生成更优的执行计划。#41719 #41548
查询执行
- 优化了 sort 算子的内存使用。#39306
- 优化了 ARM 下运算的性能。#38888 #38759
- 优化了一系列函数的计算性能。#40366 #40821 #40670 #41206 #40162
- 使用 SSE 指令优化
match_ipv6_subnet
函数的性能。#38755 - 在 insert overwrite 时支持自动创建新的分区。#38628 #42645
- 在 Profile 中增加了每个 PipelineTask 的状态。#42981
- IP 类型支持 runtime filter。#39985
半结构化数据管理
- 审计日志中输出 prepared statement 的真实 SQL。#43321
- filebeat doris output plugin 支持容错、进度报告等。#36355
- 倒排索引查询性能优化。#41547 #41585 #41567 #41577 #42060 #42372
- 数组函数
array overlaps
支持使用倒排索引加速。#41571 - IP 函数
is_ip_address_in_range
支持使用倒排索引加速。#41571 - 优化 VARIANT 数据类型的 CAST 性能。#41775 #42438 #43320
- 优化 Variant 数据类型的 CPU 资源消耗。#42856 #43062 #43634
- 优化 Variant 数据类型的元数据和执行内存资源消耗。#42448 #43326 #41482 #43093 #43567 #43620
权限
- LDAP 新增配置项
ldap_group_filter
用于自定义过滤 group。#43292
其他
- FE 监控项中的连接数信息支持按用户分别显示。#39200
问题修复
存储
- 修复 IPv6 hostname 使用问题。#40074
- 修复 broker/s3 load 进度展示不准确问题。#43535
- 修复查询从 FE 可能卡住的问题。#41303 #42382
- 修复异常情况下自增 id 重复的问题。#43774 #43983
- 修复 groupcommit 偶发 NPE 问题。#43635
- 修复 auto bucket 计算不准确的问题。#41675 #41835
- 修复 FE 重启时流控多表不能正确规划的问题。#41677 #42290
存算分离
- 修复 MOW 主键表 delete bitmap 过大可能导致 coredump 的问题。#43088 #43457 #43479 #43407 #43297 #43613 #43615 #43854 #43968 #44074 #41793 #42142
- 修复 segment 文件为 5MB 整数倍时上传对象失败的问题。#43254
- 修复 aws sdk 默认重试策略不生效的问题。#43575 #43648
- 修复 alter storage vault 时指定错误 type 也能继续执行的问题。#43489 #43352 #43495
- 修复大事务延迟提交过程中 tablet_id 可能为 0 的问题。#42043 #42905
- 修复常量折叠 RCP 以及 FE 转发 SQL 可能不在预期的计算组执行的问题。#43110 #41819 #41846
- 修复 meta-service 接收到 RPC 时不严格检查 instance_id 的问题。#43253 #43832
- 修复 FE follower information_schema version 没有及时更新的问题。#43496
- 修复 file cache rename 原子性以及指标不准确的问题。#42869 #43504 #43220
Lakehouse
- 禁止带有隐式转换的谓词条件下推给 JDBC 数据源,避免不一致的查询结果。#42102
- 修复 Hive 高版本事务表的一些读取问题。#42226
- 修复 Export 命令可能导致死锁的问题。#43083 #43402
- 修复无法查询 Spark 创建的 Hive 视图的问题。#43552
- 修复 Hive 分区路径中包含特殊字符导致分区裁剪有误的问题。#42906
- 修复 Iceberg Catalog 无法使用 AWS Glue 的问题。#41084
异步物化视图
- 修复基表重建后,异步物化视图可能无法刷新的问题。#41762
查询优化器
查询执行
- 修复 hash join 时 array 类型的大小超过 4G 导致 BE Core 的问题。#43861
- 修复 is null 谓词运算部分场景下结果不正确的问题。#43619
- 修复 bitmap 类型在 hash join 时输出结果不正确的问题。#43718
- 修复一些函数结果计算错误的问题。#40710 #39358 #40929 #40869 #40285 #39891 #40530 #41948 #43588
- 修复一些 JSON 类型解析的问题。#39937
- 修复 varchar 和 char 类型在 runtime filter 运算时的问题。#43758 #43919
- 修复一些 decimal256 在标量函数和聚合函数里使用的问题。#42136 #42356
- 修复 arrow flight 在连接时报
Reach limit of connections
错误的问题。#39127 - 修复 k8s 环境下,BE 可用内存统计不正确的问题。#41123
半结构化数据管理
- 调整
segment_cache_fd_percentage
和inverted_index_fd_number_limit_percent
的默认值。[#42224](https://github.com/apache/doris/pull/42224 - logstash 支持 group_commit。#40450
- 修复 build index 时 coredump 的问题。#43246 #43298
- 修复 variant index 的问题。#43375 #43773
- 修复后台 compaction 异常情况下可能出现的 fd 和内存泄漏。#42374
- 倒排索引 match null 正确返回 null 而不是 false。#41786
- 修复 ngram bloomfilter 索引 bf_size 设置为 65536 时 coredump 的问题。#43645
- 修复复杂数据类型 JOIN 可能出 coredump 的问题。#40398
- 修复 TVF JSON 数据 coredump 的问题。#43187
- 修复 bloom filter 计算日期和时间的精度问题。#43612
- 修复 IPv6 类型行存 coredump 的问题。#43251
- 修复关闭 light_schema_change 时使用 VARIANT 类型 coredump 的问题。#40908
- 提升高并发点查的 cache 性能。#44077
- 修复删除列时 bloom filter 索引没有同步更新的问题。#43378
- 修复 es catalog 在数组和标量混合数据等特殊情况下的不稳定问题。#40314 #40385 #43399 #40614
- 修复异常正则匹配导致的 coredump 问题。#43394