Skip to content

MatrixOne v25.3.0.9 发布报告

发布日期:2026 年 4 月 01 日

MatrixOne 版本:v26.3.0.9

MatrixOne 3.0.9 引入了一系列改进和错误修复,以提升系统的易用性。以下是主要更新内容:

关键改进

向量搜索 & AI 功能

  • IVF-FLAT 构建一致性:从主分支移植 IVF-FLAT 索引构建逻辑,保证各分支行为一致(#23737)
  • IVF 创建计划:在 3.0-dev 中移除 ivf_create 的 cross apply,简化执行计划(#23780)
  • IVF 运行时健壮性:增强 InMem IVF 路径,在多批次读取和持久化数据场景下处理 distVec 问题(#23783, #23812)
  • IVF 内存优化:将 IVFFLAT 相关内存分配迁移到堆上,避免栈溢出或逃逸问题(#23837)
  • 向量解析:在 strToArray 中恢复维度校验,提高字符串转向量的安全性(#23878)

锁服务 & 事务

  • 锁升级模式同步:当等待者变为持有者时保持锁模式一致;修复 range lock 在配对项中未同步的问题(#23787, #23809)
  • 快照 / 顺序实验:回滚 refreshSnapshotAfterLock;之前为修复 clone+drop 竞争问题的改动在最终配对修复前被回滚(#23794, #23799, #23802)
  • 锁重试生命周期:在 context 结束时正确退出锁重试(#23907)
  • 消息 / 执行清理:增强对被遗弃的 JoinMap 和空 table function 的清理(#23932)
  • 并行执行器:修复并发场景下 lockcount 脏数据问题(#23928)

数据分支、快照 & 存储(3.0)

  • CI / 质量:修复由于竞态导致的 flaky 测试 TestIssue19551(#23773)
  • 合并 + GC 后的脏读:修复 GC 后立即分支合并导致的读取异常(#23827)
  • 数据分支 diff:提升 diff 正确性、内存控制和摘要输出(#23811)
  • 全文索引 + 快照:增强全文索引快照恢复能力(#23867)
  • 主键 / 墓碑:在 3.0 中让 PKPersistedBetween 的 tombstone 检查支持主键感知(#23869)
  • 对象 I/O 元数据:重构后保留隐藏列 rowid 和 ts 的 zonemap(#23850)
  • DDL / 冲突:缓解 3.0 中 drop primary key 后出现的间歇性写写冲突 / 重复键问题(#23890)
  • 多 CN 重试:在多 CN 重试路径中检测重复键(#23917)
  • 去重 / 快照:在 dedupjoin 中,从 checkSnapshotAdvancedDuplicates 返回 ErrTxnNeedRetry,避免误判重复(#23952)

SQL、执行计划 & 执行引擎

  • 预编译语句:修复 PREPARE + ON DUPLICATE KEY UPDATE 在向 UNSIGNED 列写 NULL 时的问题(#23888)
  • ODKU 语义:修复多行 INSERT…ODKU 中 VALUES() 返回旧值而不是 NULL 的问题(#23896)
  • 向量 / JSON:在 ResetWithSameType 中将 vector class 重置为 FLAT,修复 prepared statement + NULL JSON panic(3.0-dev)(#23865)
  • 外键:支持 3.0 中 FK 级联删除的重复 delete plan 合并(#23900)
  • 窗口函数 & HAVING:
  • 支持对窗口别名使用 HAVING 过滤(#23951)
  • 修复非数值类型 + RANGE UNBOUNDED frame + ORDER BY 的问题(#23945)
  • dedup join + prepare:修复 prepare 与 dedup join 的交互问题(#23926)
  • information_schema:statistics 中的 INDEX_TYPE 应使用 idx.algo 而不是 NULL(#23933)

集群 & 基础设施

  • HAKeeper 客户端:增加 EOF 错误重试,提高可靠性(#23903)
  • CDC:修复不稳定的 CDC 测试 / 行为(#23908)
  • 扫描:让 protectedScans 的 suspend/resume 支持 defer 安全(#23920)
  • 对象存储:修复 GC / 文件服务在类 OBS 的 S3 后端上的兼容性问题(#23922)

错误修复

严重崩溃 / Panic

  • IVF-FLAT InMem 路径:修复 distVec / NULL 向量扫描导致的 panic(#23783, #23812, #23835)
  • 预编译路径:修复 NULL JSON + vector reset 导致的 panic(#23865)

数据一致性 & 并发

  • 锁服务 waiter/holder 与 range lock 配对问题(#23787, #23809)
  • 分支合并 + GC 后的脏读(#23827)
  • 持久化路径中 tombstone 与主键的处理(#23869)
  • dedupjoin 与多 CN 中的误判重复 / 重试语义问题(#23952, #23917)

CDC & 复制

  • 修复 CDC 不稳定问题(#23908)

SQL & 查询修复

  • ODKU 在 UNSIGNED 和 VALUES() 场景下的正确性问题(#23888, #23896)
  • 窗口函数与 HAVING 支持及修复(#23951, #23945)
  • information_schema 的 INDEX_TYPE 问题(#23933)

基础设施 & 兼容性

  • HAKeeper EOF 重试(#23903)
  • S3 / OBS 类后端在 GC 中的兼容性问题(#23922)
  • protectedScans 的 defer 安全(#23920)
  • JoinMap / pipeline 清理(#23932)

详细更新日志

v26.3.0.8-v26.3.0.9 变更记录