亲爱的社区小伙伴们,Apache Doris 2.1.10 版本已正式发布。2.1.10 版本对湖仓一体、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。
- 官网下载:doris.apache.org/download
- GitHub 下载:github.com/apache/dori...
行为变更
- Audit Log 中的 SQLHash 通过当前执行的 SQL 精确计算,解决了同一请求中所有 SQL 使用相同 SQLHash 的问题。
- DELETE 不再错误的需要目标表的 SELECT_PRIV 权限
- Insert Overwrite 不再限制对同一个表并发只能为 1
- Merge on write unique 表禁止使用时序 compaction
- 禁止在 VARIANT 类型上 build index
新功能
查询执行引擎
- 支持了更多的 GEO 类型的计算函数
ST_CONTAINS
,ST_INTERSECTS
,ST_TOUCHES
,GeometryFromText
,ST_Intersects
,ST_Disjoint
,ST_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_REPLACE
,JSON_INSERT
,JSON_SET
,JSON_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 不正确的问题