首批通过分布式安全可靠测评,为关键业务系统打造
purge 查询丢行
更新时间:2026-05-26 09:46
问题现象
在 buffer 更新场景下,事务执行遇到冻结操作,可能导致事务读不到本事务在冻结 MemTable 上的修改。
关键诊断信息
触发条件
buffer 更新场景下,事务执行遇到冻结操作。
问题原因
在冻结创建的新的 Active MemTable 上,存在大范围删除并导致范围被标记成 purge 状态,事务之前的写入还在冻结 MemTable上,此时执行读取操作会因为 Active MemTable 上的 purge 范围标记导致跳行,因而漏读了本事务在冻结 MemTable 上的修改。
问题的风险及影响
可能会出现读不到本事务修改、漏删除本事务插入的行、漏更新本事务插入的行的情况,导致数据正确性问题。
影响租户
影响 OceanBase 数据库中的 Oracle 租户和 MySQL 租户,对于 SYS 租户无影响。
影响版本
OceanBase 数据库企业版 V2.2.77 GA(oceanbase-2.2.77-20210508211731)及之后版本。
解决方法
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP19(oceanbase-2.2.77-119000122024060513)及之后版本。
处理数据问题。