新功能
查询与执行
- 支持 ARRAY_CROSS_PRODUCT 函数 (#64031)
- 新增 exponential_moving_average 聚合函数 (#63499)
- 支持 murmur_hash3_128 函数 (#63196)
- 新增 datasketches HLL sketch 聚合函数 (#63143)
- 跳过为超长字符串列收集统计信息 (#62686)
- 新增 information_schema role mappings 表 (#62077)
- 为 cosine_similarity 新增 FE 常量折叠并规范化测试模式 (#60403)
云原生
- 在 MTMV 刷新任务中显示 compute group (#63206)
安全与认证
- 集成 OIDC 认证、MySQL 登录桥接与角色映射 (#61819)
改进
查询与执行
- 使用真实经过时间计算 workload group 指标刷新间隔 (#63537)
- 在多个聚合函数与数组函数中支持 TIMESTAMPTZ (#62756)
存储与压缩
- 默认开启 packed file 与空 rowset 优化 (#63475)
- 支持可配置的 S3 credentials provider (#62788)
- 新增 enable_recycler 配置以动态跳过 recycler (#63286)
问题修复
索引与搜索
- 修复 file cache miss 时读取 packed 倒排索引文件的问题 (#64383)
- 修复 ANN IVF/PQ 召回率,避免初始化时预留过大的 ANN build-buffer,并跳过 ANN 索引构建... (#64082)
- 防护 LogicalView.computeOutput() 应对 schema 漂移(IndexOutOfBoundsException)(#64007)
- 修复 ANN 范围搜索的状态泄漏与错误的 slot index 跟踪 (#63666)
- 在 SHOW CREATE 输出中将 variant_sparse_hash_shard_count 限制为 >=1 (#63661)
- 将 Variant 搜索绑定到嵌套索引 (#63660)
- 拒绝在无倒排索引的列上使用 Lucene 语法的 SEARCH (#63637)
- 深拷贝逻辑关系时保留 operative slots (#63315)
- 在 view 定义中保留 variant 子字段,修复当 view select 包含...时查询 view 结果错误 (#62907)
- 修复 tokenize 函数在首个参数为常量时结果错误 (#62699)
- 允许对带别名的 variant 子列使用 MATCH (#63772)
- 提升 AI 函数性能 (#62494)
查询与执行
- 拒绝在相关标量子查询中使用 TopN (#64251)
- 优化浮点 fmod 快速路径 (#64161)
- 将角色映射关键字 RULE/CEL/MAPPING 设为非保留字 (#64104)
- 阻止 runtime filter 不安全地下推穿过 outer join (#64102)
- 修复零日期的 datediff 折叠 (#64084)
- 使 convert_tz 折叠与 BE 的 DST 处理对齐 (#64029)
- 将 struct_element 合并到 element_at (#64027)
- 修复 TopN runtime filter 激活 (#63969)
- 在 SIGNBIT 常量折叠中保留负零符号 (#63954)
- 修复 assert row join 下推的别名处理 (#63892)
- 修复对已裁剪 variant 子路径的数组下标访问 (#63891)
- 使 COM_RESET_CONNECTION 行为与 MySQL 对齐 (#63884)
- 在数值常量折叠中保留 NaN (#63870)
- 避免读取大 snapshot split 时潜在的 OOM (#63833)
- 在 variant_hirachinal 中将 variant 子列转为 json 以获得稳定输出 (#63828)
- 修复 show variables 中已变更变量的输出 (#63734)
- 修复 computeDestIdToInstanceId 在多输入 fragment 时选错 ExchangeNode (#63615)
- 避免 JSON modify 路径中的无符号下溢 (#63579)
- 处理缺失 precision/frac 的遗留 DecimalV2 segment (#63569)
- 在 sparse 路径中保留 TIMESTAMPTZ 值 (#63522)
- 使遗留 literal 的 compareLiteral 与 Nereids ComparableLiteral 语义对齐 (#63481)
- 拒绝对 variant 参数使用 COUNT DISTINCT (#63479)
- 按值比较 JSON 数值 (#63396)
- 移除不安全的 JsonbWriter key 重载 (#63355)
- 阻止 view 定义中无效的别名重写 (#63353)
- 拒绝非正的 topn count 参数 (#63350)
- 修复 json contains 的重复数组候选 (#63301)
- 拒绝 json keys 中的 super 通配符路径 (#63300)
- 向 MySQL 客户端以字符串形式上报 TIMESTAMPTZ (#63292)
- 为 join 重写新增 null reject 补偿 (#63268)
- 拒绝 JSONB literal 中落单的 UTF-16 代理项(RFC 8259 §8.2)(#63255)
- 修复最外层表达式为 cast 的 alias function 并拒绝非法表达式 (#63254)
- 在 TopN runtime predicate 中支持 TIMESTAMPTZ (#63220)
- 拒绝将 JSONB 与 variant 作为分布列 (#63211)
- 将恒为真谓词的裁剪移到分区裁剪之后,放入 PlanPostProc... (#63111)
- 修复 coalesce 函数输出 null 的问题 (#63092)
- 保留首个重复的 Variant JSON path (#63082)
- 避免 union 查询未使用的 MV 分区 (#63081)
- 修复整型类型推导并在参数/类型解析时优先使用 Variable.realExpression (#62524)
- 修复 agg-union 查询计划中的冗余聚合 (#62231)
- 将 ConnectContext 传入 canUseNereidsDistributePlanner 方法,而非调用 ConnectContext.get() (#60529)
存储与压缩
- 为 from-to cdc WAL 搜索新增超时与陈旧 reader 释放 (#64013)
- 在 commit rowset 时校验 recycle rowset key 状态 (#63985)
- 降低 sparse variant 解析内存 (#63970)
- 避免保留完整的 segment key bounds buffer (#63968)
- flush 后释放 packed file writer buffer (#63967)
- 在 delete bitmap capture 前归一化 SC rowset 图 (#63960)
- 支持 cdc_client JVM 选项并采用外部管理的 cdc_client (#63898)
- 移除 udf cache 的 expiration_time 属性 (#63897)
- 销毁前排空 txn lazy committer worker (#63876)
- 在 distributionPrune 中按分区过滤 nereidsPrunedTabletIds (#63851)
- 为异步任务保持 prefetch reader 存活 (#63796)
- 避免重试对象存储的 SlowDown 错误 (#63776)
- 移除单副本 compaction (#63771)
- 按查询缓存 cluster id 并移除 getBackendId 热路径上的冗余锁 (#63636)
- 修复 master 上 meta tool 的构建 (#63540)
- 对 STOP_TOKEN 跳过陈旧 tablet cache 检查 (#63520)
- 为 histogram 指标保留 label,修复 prometheus 指标名错误 (#63485)
- 在 LocationPath 中归一化默认 HDFS 路径 (#63476)
- 存储 segment stats 前截断 segment key bounds (#63469)
- 运行前填补 schema change 的版本空洞 (#63443)
- 禁用 row store 列的 dict 编码 (#63438)
- 移除 assert_cast 的 pure 属性 (#63417)
- 修复重启后立即 clear_file_cache 导致 file cache size 百分比溢出 (#63410)
- 在一个 BE 宕机时验证 DML 与三副本建表 (#63401)
- 修复预聚合 context 在 join 分支间的泄漏 (#63357)
- 清理空的 v3 cache 目录 (#63344)
- 避免并发 tablet stat 迭代失败 (#63298)
- 允许在未选择数据库时 show tablet (#63280)
- 读取 FE 持久化的 CDC offset 时恢复 split-bound 的 Java 类型 (#63219)
- clone instance 支持 storage vault (#63217)
- 将 overwrite 分区路由延迟到 incremental open (#63209)
- 修复分区回收后简单聚合的缓存 (#63175)
- 增强统计 analyze 任务的 OOM 错误信息 (#63172)
- 修复 vertical compaction 期间 RowSourceBuffer 中错误的内存可用性检查 (#63152)
- 为 cdc source job 实现异步 chunk 切分 (#63079)
- 用带注解的 wrapper 替换 std::mutex/std::lock_guard 以支持线程安全分析 (#63070)
- 避免 force-finished publish 任务的 NPE (#63069)
- 为 DataQueue 新增 SubQueue 抽象与线程安全注解 (#62947)
- 跳过对异步 rowset warmup 的等待 (#62764)
- 为 RestoreJob 缓存版本并主动获取 tablet stats (#62704)
- create/list snapshot 支持 storage vault (#62523)
- 在多跳 outer join MV 重写中从 INNER JoinEdge 推断 null-reject (#62492)
- 避免延迟的 holder 清理遇到已移除 cache cell 时崩溃 (#62437)
- 修复 PartitionRebalancer 向缺少所需存储介质的 BE 生成无效迁移 (#62206)
- 为 meta-service 新增系统级限流 (#61516)
- 在 CloudTabletRebalancer 中用 tabletId 替换 Tablet 引用 (#61233)
- 新增异步 lru 更新机制并修复 cache reader 中的部分命中 (#61083)
- 避免 NewOlapScanner 中 FileCache 计数器重复累加 (#61072)
- show proc 应显示分区的 cached version (#60807)
- 避免云模式下错误的 tablet 诊断告警 (#60805)
导入
- 修复 nullable date literal 绑定与 date *_diff 折叠 (#64127)
- 为自动分区保持 load 行数指标单调 (#64109)
- 修复 postgres cdc 多表 publication 的数据丢失与 binlog 重复 key (#64075)
- 加载 JSON 时按名称匹配 STRUCT 子字段 (#64011)
- 更换 lzo 下载链接 (#63785)
- 修复 cdc-client 中 postgres 历史日期 timestamp 的处理 (#63618)
- 新增按任务级别的 routine load 指标 (#63576)
- 修复 BeIdComparator 中 int 溢出导致 stream load 失败 (#63565)
- 为 sub txn load 新增 txn 写放大 brpc 指标 (#63545)
- 对 workload DDL 强制使用显式 compute group 形式 (#63505)
- 支持用户指定 mysql server_id 并按 reader 分配 (#63490)
- 修复一批 typo/日志/校验/可见性问题 (#63480)
- 避免 snapshot chunk 读取期间跨表 DML 的 NPE (#63435)
- 在终态任务上执行 cancel 时保持 isCanceled 置位 (#63427)
- 丢弃 JdbcPostgreSQLClient 中因 JDBC LIKE 通配符泄漏的邻表行 (#63402)
- 优化 row-store 场景下 row-store memtable flush 的内存 (#63342)
- 修复 stream load 重定向时未消费 request body 导致的 broken pipe 风险 (#63332)
- 将 esdk-obs-java-bundle 固定到 3.21.11 以修复版本范围解析失败 (#63278)
- 为 streaming insert 任务新增按任务级别的 lag 指标 (#63194)
- 修复 routine load Kafka meta 请求中的 NPE (#63180)
- 移除核心类型与工具中的无用代码 (#62994)
- CancelTaskById 不应被无关的 streaming 任务阻塞 (#62940)
- 在 replay 与 ALTER 后重新计算派生字段 (#62936)
- 跨 FE checkpoint 持久化 cdc_stream TVF offset (#62902)
- 避免修改共享的 variant 列 (#64092)
- 从当前 cluster 选择 txn insert backend (#63634)
- 修复在 metadata_failure_recovery 模式启动 FE 时 host 不匹配 (#62748)
- 去重待处理的一次性 warm up 任务 (#62384)
湖仓
- 将 iceberg varint 类型映射为 unsupported 类型 (#64331)
- 修复 iceberg 写入特殊分区错误 (#64225)
- 修复无法获取已迁移 Iceberg 表 format type 的问题 (#64134)
- 数据位置使用对象存储路径 (#64028)
- 拒绝对 iceberg COW 表执行行级 DML (#63950)
- 修复 iceberg v3 row lineage 的 count distinct 结果错误 (#63826)
- 修复 LocalExchangeSharedState::sub_total_mem_usage 中的 DCHECK (#63742)
- 为 position delete 文件补充缺失的 Iceberg field ID (#63483)
- 为查询加载行数时填充 Hive meta cache (#63470)
- 修复 iceberg sink writer 的 spill 上报错误 (#62899)
- Rest 与 S3Table 支持 IAM role (#60498)
安全与认证
- 在 MysqlProto.readLenEncodedString 中限制长度 (#63604)
- 将 HDFS connection 纳入 file handle cache key (#63516)
- 修复 arrow flight client 的 IP 鉴权 (#63506)
- 在 simplify in predicate 中保留收窄的 datetimev2 cast (#63343)
- 修复 arrow::Status inline static empty msg 的 core (#63191)
- 支持多 root 认证插件加载并规范化 OIDC access token 认证 (#62159)
- 在审计日志中改进 ALTER USER 与 CREATE USER 命令的用户密码脱敏 (#62141)
- 改进 LDAP 认证的弹性与诊断 (#61673)
- 集成认证链并简化 fallback 配置 (#61362)