Apache Doris 2.1.10 版本正式发布

亲爱的社区小伙伴们,Apache Doris 2.1.10 版本已正式发布。2.1.10 版本对湖仓一体、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。

行为变更

  • Audit Log 中的 SQLHash 通过当前执行的 SQL 精确计算,解决了同一请求中所有 SQL 使用相同 SQLHash 的问题。
  • DELETE 不再错误的需要目标表的 SELECT_PRIV 权限
  • Insert Overwrite 不再限制对同一个表并发只能为 1
  • Merge on write unique 表禁止使用时序 compaction
  • 禁止在 VARIANT 类型上 build index

新功能

查询执行引擎

  • 支持了更多的 GEO 类型的计算函数 ST_CONTAINSST_INTERSECTSST_TOUCHESGeometryFromTextST_IntersectsST_DisjointST_Touches
  • 支持 years_of_week 函数

湖仓一体

  • Hive Catalog 支持 Catalog 级别的分区缓存开关控制

更多详情,可参考文档:doris.apache.org/zh-CN/docs/...

改进提升

湖仓一体

  • Paimon 依赖版本升级到 1.0.1
  • Iceberg 依赖版本升级到 1.6.1
  • 将 Parquet Footer 的内存开销纳入 Memory Tracker 管控,以避免可能的 OOM 问题
  • 优化 JDBC Catalog 的谓词下推逻辑,支持 AND/OR 等连接谓词的下推
  • 预编译版本默认携带 Jindofs 扩展包以支持阿里云 OSS-HDFS 访问

半结构化管理

  • ANY 函数支持 JSON 类型
  • JSON_REPLACEJSON_INSERTJSON_SETJSON_ARRAY 函数支持 JSON 数据类型和复杂数据类型

查询优化器

  • 当 in 表达式的 options 多于 Config.max_distribution_pruner_recursion_depth 时,不执行分桶裁剪,以提升规划速度

存储管理

  • 减少日志和改进部分日志

其他

  • 避免 Thrift RPC END_OF_FILE 异常

Bug 修复

01 湖仓一体

修复某些情况下,在 Hive 侧新建表,Doris 侧无法立即查看到的问题 修复某些 Text 格式 Hive 表访问报错 "Storage schema reading not supported" 的问题 查看文档 get_schema_from_table 详情 修复某些情况下,写入 Hive/Iceberg 表时,元数据提交并发问题 修复某些情况下,写入存储在 oss-hdfs 上的 Hive 表失败的问题 修复当 Hive 分区键值有逗号的情况下,访问失败的问题 修复某些情况下,Paimon 表 Split 分配不均匀的问题 修复读取存储在 OSS 上的 Paimon 表时,无法正确处理 Delete 文件的问题 修复 MaxCompute Catalog 中,读取高精度 Timestamp 列时无法访问的问题 修复某些情况下,删除 Catalog 可能导致部分资源泄露的问题 修复某些情况下,读取 LZO 压缩格式的数据失败的问题 修复某些情况下,ORC 延迟物化功能导致复杂类型读取错误的问题 修复某些情况下,读取 pyorc-0.3 版本产生的 ORC 文件报错的问题 修复某些情况下,EXPORT 操作导致元数据死锁的问题

02 索引

修复多次添加、删除和重命名列操作后构建倒排索引的错误 在 index compaction 中索引对应的列唯一 ID 的校验,避免潜在的数据异常和系统错误

03 半结构化数据类型

  • 修复某些情况下,VARIANT 类型转 JSON 类型返回 NULL 错误的结果
  • 修复某些情况下,JSONB CAST 导致 crash
  • 禁止在 VARIANT 类型上 build index
  • 修复 named_struct 函数 decimal 类型精度正确性

04 查询优化器

  • 修复常量折叠中的一些问题
  • 公共表达式提取在 lambda 表达式上可能工作异常
  • 修复消除 group by key 中的常量可能不能正常工作的问题
  • 修复在极端场景下,由于统计信息的推导错误,规划无法正常执行的问题
  • 修复部分依赖 BE 中元数据的 information_schema 表,不能获取完整数据的问题

05 查询执行引擎

  • 修复了找不到 explode_json_array_json_outer 函数的问题
  • 修复了 substring_index 不支持动态参数的问题
  • 修复了很多 st_contains 函数计算结果不对的问题
  • 修复了 array_range 函数可能导致的core的问题
  • 修复了 date_diff 函数计算结果错误的问题
  • 修复了一系列字符串函数在非 ASCII 编码下的乱码或者结果错误的问题

06 存储管理

  • 修复某些情况下,动态分区表(Dynamic Partition Table)回放元数据失败的问题
  • 修复 ARM 下 streamload 可能因为操作序列丢数据的问题
  • 修复 full compaction 报错以及可能导致 mow 数据重复的问题
  • 修复没有持久化分区 Storage Policy 的问题
  • 修复导入之后文件极小概率不存在的问题
  • 修复 CCR 和磁盘均衡并发可能导致的文件找不见问题
  • 修复备份恢复大快照时可能出现的 connection reset 问题
  • 修复 FE Follower 丢失本地备份快照的问题

07 其他

  • 修复某些场景下,审计日志可能丢失的问题
  • 修复审计日志中 isQuery 标记可能不正确的问题
  • 修复审计日志中部分查询 sqlHash 不正确的问题
相关推荐
睡不醒男孩03082314 分钟前
第二篇:深入探索开源数据库高可用:构建基于CLup的PostgreSQL生产级高可用与读写分离架构
数据库·postgresql·开源·clup
凌云拓界4 小时前
文件管理:让AI安全操作你的电脑 ——CogitoAgent开发实战(三)
javascript·人工智能·架构·开源·node.js
跨境数据猎手4 小时前
大数据在电商行业的应用
大数据·运维·爬虫
冬奇Lab5 小时前
每日一个开源项目(第126篇):turbovec - 向量索引的内存杀手,1千万文档从31GB压到4GB
人工智能·开源·llm
绿算技术5 小时前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构
CRMEB系统商城6 小时前
CRMEB多商户系统(Java)v2.3公测版发布
java·开发语言·人工智能·小程序·开源·php
朴马丁7 小时前
预制菜的“数字厨房”:PLM如何支撑菜品标准化与供应链高效协同?
大数据·人工智能·食品行业·流程行业plm
网络研究院8 小时前
AgentGG:开源的代理式 SAST 扫描器
开源·github·工具·网络研究观·agentgg
sbjdhjd8 小时前
面试(5)| 3.5 小时面试复盘第五弹:加班出差 + 客户响应 + 压力面全拆解
经验分享·程序人生·面试·职场和发展·开源·跳槽·求职招聘
奋斗的老史8 小时前
Spring-Boot 集成 TDengine 完整实战
大数据·时序数据库·tdengine