OCP 报警 OBServer 合并失败 ob_log_merge_error,[errcode=-4034] failed to merge partition(ret=-4034)

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】 5.7.25-OceanBase_CE-v4.3.5.4
【问题描述】OCP 报警 OBServer 合并失败 ob_log_merge_error,[errcode=-4034] failed to merge partition(ret=-4034),查询 CDB_OB_MAJOR_COMPACTION 的status 都是 IDLE。



问题1: OCP 报警 OBServer 合并失败 ob_log_merge_error,跟 租户合并的区别
问题2: 怎么排查处理告警

@论坛小助手

针对您提到的 OCP 报警 OBServer 合并失败 (ob_log_merge_error),错误代码 -4034 的问题,可以使用 obdiag 工具进行日志采集与根因分析,以便更好地理解发生问题的原因。以下是我们推荐使用的 obdiag 场景和命令:

根因分析场景: 卡合并场景
根因分析命令: obdiag rca run --scene=major_hold
日志采集场景: 合并问题
日志采集命令: obdiag gather scene run --scene=observer.compaction

请您先使用上述命令进行日志采集与根因分析,并将采集到的日志文件提供给我们,这将有助于我们进一步诊断问题所在。同时,为了能够更准确地定位问题,请您回答以下几个问题:

  1. 能否提供具体的报警时间和 OBServer 实例的详细信息?
  2. 在发生合并失败前,是否有任何特定的操作或事件(例如,大量写入操作、执行了某些DDL语句等)?
  3. 当前 OBServer 的存储空间是否足够?是否存在磁盘使用率较高的情况?
  4. 是否有其他相关日志或错误信息可供参考?

感谢您的配合,期待您的回复。

附上敏捷诊断工具 obdiag 使用帮助链接

推荐优先使用小助手推荐的obdiag根因分析下

obdiag gather scene run --scene=observer.compaction 的 sql_result.txt
sql_result.txt (104.7 KB)

select * from GV$OB_COMPACTION_DIAGNOSE_INFO;

select * from cdb_ob_major_compaction ; 获取GLOBAl SCN

select svr_ip, svr_port, count(1) from __all_virtual_tablet_meta_table where tenant_id = xxxx and compaction_scn < #‘GLOBAl SCN’# group by svr_ip; 查询未合并完成的表

在告警期间,我查了租户合并相关的视图,没有发现异常。但是OCP一直在告警

目前看合并状态都是正常的。observer日志发一份吧

observer.log.zip (10.4 MB)

这是故障未回复期间的observer.log

你意思是 这个告警当前已经恢复了对吧?不是误告警

image

根据OCP记录 2025年12月22日 10:00:27 开始告警, 2025年12月22日 11:02:36 告警结束,
告警消除周期 5分钟。 告警期间查询 OB_COMPACTION_xxx 相关视图没有异常。

疑问1: OCP 告警 ob_log_merge_error 具体是什么
疑问2: OCP 报警 OBServer 合并失败 ob_log_merge_error,跟 租户合并 是一回事吗? 因为 在告警期间并没有发生租户合并。

1.该告警是监测合并失败的告警 通过grep observer日志中的关键信息判断
2.根据日志判断触发的minor_merge合并sstable报错。不是租户级别合并

  • MINOR_MERGE:Minor Compaction,多个 Mini SSTable 合成一个新的 Mini SSTable 或者多个 Mini SSTable 与一个 Minor SSTable 合成一个新的 Minor SSTable。

ob_log_merge_error此时触发的是 分区合并吗?

分区合并异常有什么SQL或者信息定位到 哪个租户哪张表 ,对应办法吗?