首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 V4.2.3 ~ V4.2.5 版本更容易触发 Medium Merge 的问题
更新时间:2026-06-15 09:16
问题现象
租户 CPU or IO 消耗高。
关键诊断信息
触发条件
增量写入的已提交数据超过 10W 行 + 分区自上次合并/Medium Merge 后有多次转储 + 增量 SSTable 中不包含未提交数据 + 分区没有未完成的合并任务。
事前巡检
可以检查租户的 CPU、IO 消耗是否会随机变高。
事后诊断
指定租户 ID 检查 __all_virtual_tablet_compaction_history 表,确认 Medium Merge 是否频繁。
问题原因
自适应合并 Medium Merge 的触发需要同时满足以下条件:
增量已提交数据行数超过 10W。
增量数据行达到基线数据行的 50%。
事务状态已决的 SSTable 的个数至少有两个。
多次 Medium Merge 之间需要满足最小的调度时间间隔。
但是引入的 BUG,导致条件 2 失效了,也就是说后续在检查 Medium Merge 能否调度的时候,条件 2 总能满足。
问题的风险及影响
影响: Medium Merge 会更容易触发。
风险: CPU && IO 消耗变高。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
影响版本
OceanBase 数据库企业版 V4.2.3 Hotfix1(oceanbase-4.2.3.0-100000232024042317)及之后版本、V4.2.5 GA(oceanbase-4.2.5.0-100000082024102022)及之后版本。
解决方法
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V4.2.5 BP2 Hotfix2(oceanbase-4.2.5.2-102020022025031414)、V4.2.5 BP2 Hotfix3(oceanbase-4.2.5.2-102030052025032518)、V4.2.5 BP2 Hotfix4(oceanbase-4.2.5.2-102040012025050823)、V4.2.5 BP2 Hotfix5(oceanbase-4.2.5.2-102050032025060612)、V4.2.5 BP2 Hotfix6(oceanbase-4.2.5.2-102060012025101315)、V4.2.5 BP3(oceanbase-4.2.5.3-103000142025033110)及之后版本。
可以临时禁掉自适应合并,需要修改租户配置项
_enable_adaptive_compaction,将其改为 False 即可规避。-- 租户级的,当前租户执行即可 ALTER SYSTEM SET _enable_adaptive_compaction = False TENANT = tenant_name;
规避方式
无法提前规避,只能禁掉自适应合并。