Apache Doris 2.1.7 版本正式发布

Apache Doris 2.1.7 版本已于 2024 年 11 月 10 日正式发布。2.1.7 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。

下载体验

官网下载:https://doris.apache.org/download

GitHub 下载:https://github.com/apache/doris/releases

行为变更

以下全局变量会被强制设置为下列默认值

enable_nereids_dml: true

enable_nereids_dml_with_pipeline: true

enable_nereids_planner: true

enable_fallback_to_original_planner: true

enable_pipeline_x_engine: true

审计日志增加了新的列,参考:https://doris.apache.org/zh-CN/docs/admin-manual/audit-plugin/

新功能

01 异步物化视图

异步物化视图增加属性use_for_rewrite,用于控制是否参与透明改写。

02 查询执行引擎

在 Profile 中输出变更的session variable列表。

增加了trim_in、ltrim_in和rtrim_in函数的支持。

增加了一些 URL 函数,包括对to``p_level_domain、first_significant_subdomain、cut_to_first_significant_subdomain支持。

增加了bit_set函数。

增加了count_substrings函数。

增加translate和url_encode函数。

增加normal_cdf,to_iso8601,from_iso8601_date函数。

03 存储管理

增加了information_schema.table_options和information_schema.``table_properties 系统表,支持查询建表时设置的一些属性。

使用参考:

table_options:https://doris.apache.org/docs/admin-manual/system-tables/information_schema/table_options/

table_properties:https://doris.apache.org/zh-CN/docs/admin-manual/system-tables/information_schema/table_properties/

支持bitmap_empty 作为默认值。

增加了一个新的 Session 变量require_sequence_in_insert来控制向 Unique Key 表进行insert into select写入时,是否必须提供 Sequence 列。

04 其他

允许在 BE WebUI 页面生成火焰图。

改进提升

01 湖仓一体

支持写入数据到 Hive Text 格式表。更多信息:https://doris.apache.org/zh-CN/docs/lakehouse/datalake-building/hive-build/

使用 MaxCompute Open Storage API 访问 MaxCompute 数据。更多信息:https://doris.apache.org/zh-CN/docs/lakehouse/database/max-compute/

支持 Paimon DLF Catalog。更多信息:https://doris.apache.org/zh-CN/docs/lakehouse/datalake-analytics/paimon/

新增语法table$partitions语法支持直接查询 Hive 分区信息。更多参考:https://doris.apache.org/zh-CN/docs/lakehouse/datalake-analytics/hive/

支持 brotli 压缩格式的 Parquet 文件读取。

支持读取 Parquet 文件中的 DECIMAL 256 类型。

支持读取 OpenCsvSerde 格式的 Hive 表。

02 异步物化视图

细化了异步物化视图中构建时锁持有的粒度。

03 查询优化器

优化了极端情况下统计信息收集和使用的准确性,以提升规划稳定性。

支持在更多情况下生成 Runtime Filter,以提升查询性能。

提升数值、日期和字符串函数的常量折叠能力,以提升查询性能。

优化了列裁剪的算法,以提升查询性能。

04 查询执行引擎

支持并行的 Prepare 降低短查询的耗时。

修正了 Profile 中一些 Counter的名字,保持跟审计日志一致。

增加了新的 Local Shuffle 规则,使得部分查询更快。

05 存储管理

Show Partitions 命令支持显示 Commit Version。

建表时检查不合理的 Partition EXPR。

优化 Routine Load EOF 时的调度逻辑。

Routine Load感知 Schema 变化。

优化 Routine Load Task 超时逻辑。

06 其他

支持通过 BE 配置关闭 BRPC 的内置服务端口。

修复审计日志缺失字段以及重复记录的问题。

Bug 修复

01 湖仓一体

修复了 INSERT OVERWRITE 的行为跟 Hive 不一致的问题。

清理临时创建的文件夹,解决 HDFS 上空文件夹太多的问题。

修复某些情况下,使用 JDBC Catalog 导致 FE 内存泄露的问题。

修复某些情况下,使用 JDBC Catalog 导致 BE 内存泄露的问题。

修复某些情况下,读取 Snappy 压缩格式错误的问题。

修复某些情况下,FE 端 FileSystem 可能泄露的问题。

修复某些情况下,通过 EXPLAIN VERBOSE 查看外表执行计划可能导致空指针的问题。

修复无法读取 Paimon parquet 格式表的问题。

修复 JDBC Oracle Catalog 兼容性改动引入的性能问题。

禁止下推隐式转换后的谓词条件已解决 JDBC Catalog 某些情况下查询结果不正确的问题。

修复 External Catalog 中表名大小写访问异常的一些问题。

02 异步物化视图

修复用户指定的 Start Time 不生效的问题。

修复嵌套物化视图不刷新的问题。

修复删除重建基表后,物化视图可能不刷新的问题。

修复分区补偿改写可能导致结果错误的问题。

当sql_select_limit设置时,改写结果可能错误的问题。

03 半结构化管理

修复了索引文件句柄泄露的问题。

修复了特殊情况下倒排索引count() 不准确的问题。

修复了未开启 Light Schema Change 时 Variant 异常的问题。

修复了 Variant 返回数组时内存泄漏的问题。

04 查询优化器

修正了外表查询时,可能存在过滤条件 nullable 计算错误,导致执行异常的问题。

修复范围比较表达式优化可能发生错误的问题。

05 查询执行引擎

match_regexp函数不能正确处理空字符串的问题。

解决在高并发场景下,Scanner 线程池卡死的问题。

修复了data_floor函数结果错误的问题。

修复了部分场景下,Cancel 消息不正确的问题。

修复 Arrow Flight 打印太多的 Warn 日志的问题。

解决部分场景下 Runtime Filter 发送失败的问题。

修复了一些系统表查询的时候不能正常结束或者卡住的问题。

修复了窗口函数结果不正确的问题。

修复 ENCRYPT 和 DECRYPT 函数导致 BE Core 的问题。

修复 CONV 函数结果错误的问题。

06 存储管理

Memtable 前移在多副本情况下,有机器宕机时导入失败的问题。

导入过程中,Memtable 在 Flush 阶段时,统计的内存不准确。

修复 Memtable前移多副本容错的问题。

修复 Memtable前移 bvar 统计不准的问题。

修复 S3 Load 进度汇报不准的问题。

07 权限管理

修复了SHOW COLUMNS, SHOW SYNC, SHOW DATA FROM DB.TABLE相关的权限问题。

08 Others

修复 2.0 版本的审计日志插件在 2.1 版本无法使用的问题。

请使用浏览器的分享功能分享到微信等