Apache Doris 3.0.3 正式发布

版本发布
2024/12/09
Apache Doris

亲爱的社区小伙伴们,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_searchnormal_cdfto_iso8601from_iso8601_dateSESSION_USER()last_query_id 函数。#38226 #40695 #41075 #41600 #39575 #40739
  • aes_encryptaes_decrypt 函数支持 GCM 模式。#40004
  • Profile 中输出变更的会话变量值。#41016 #41318

半结构化数据管理

  • 新增数组函数 array_match_allarray_match_any#40605 #43514
  • 数组函数 array_agg 支持在 ARRAY 中嵌套 ARRAY/MAP/STRUCT。#42009
  • 新增近似聚合统计函数 approx_top_kapprox_top_sum#44082

改进与优化

存储

  • 支持将 bitmap_empty 作为默认值。#40364
  • 引入 insert_timeout 会话变量,用以控制 DELETE 语句的超时时间。#41063
  • 改进部分错误提示信息。#41048 #39631
  • 改进副本修复的优先级调度。#41076
  • 提高了建表时对时区处理的鲁棒性。#41926 #42389
  • 在创建表时检查分区表达式的合法性。#40158
  • 在 DELETE 操作时支持 Unicode 编码的列名。#39381

存算分离

Lakehouse

  • Paimon Catalog 支持阿里云 DLF 和 OSS-HDFS 存储。#41247 #42585

  • 支持读取 OpenCSV 格式的 Hive 表。#42257 #42942

  • 优化了访问 External Catalog 中 information_schema.columns 表的性能。#41659 #41962

  • 使用新的 Max Compute 开放存储 API 访问 Max Compute 数据源。#41614

  • 优化了 Paimon 表 JNI 部分的调度策略,使得扫描任务更加均衡。#43310

  • 优化了 ORC 小文件的读取性能。#42004 #43467

  • 支持读取 brotli 压缩格式的 parquet 文件。#42177

  • information_schema 库下新增 file_cache_statistics 表,用于查看元数据缓存统计信息。#42160

查询优化器

查询执行

  • 优化了 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

半结构化数据管理

权限

  • 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

存算分离

Lakehouse

  • 禁止带有隐式转换的谓词条件下推给 JDBC 数据源,避免不一致的查询结果。#42102
  • 修复 Hive 高版本事务表的一些读取问题。#42226
  • 修复 Export 命令可能导致死锁的问题。#43083 #43402
  • 修复无法查询 Spark 创建的 Hive 视图的问题。#43552
  • 修复 Hive 分区路径中包含特殊字符导致分区裁剪有误的问题。#42906
  • 修复 Iceberg Catalog 无法使用 AWS Glue 的问题。#41084

异步物化视图

  • 修复基表重建后,异步物化视图可能无法刷新的问题。#41762

查询优化器

  • 修复使用多列 range 分区时,分区裁剪结果可能有误的问题。#43332
  • 修复部分 limit offset 场景下计算结果错误的问题。#42576

查询执行

  • 修复 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_percentageinverted_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

权限

其他