【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】observer-4.3.5.4 OCP-4.3.6-20250815135607
这个集群架构是单节点集群,用于存储历史数据。
【问题描述】租户长时间未合并,每天合并时间是凌晨2点,本次报错长时间未合并的时间是从3-16 2:00 到现在(3-17 12:45);
2026年3月17日 02:35:09有一个metadb集群的一个非预期内部错误告警,但是本次告警长时间未合并、长时间未冻结的集群是bk_xxxxx集群。
集群(租户资源)
【复现路径】问题出现前后相关操作
1.业务租户查询:GV$OB_TABLET_COMPACTION_PROGRESS
2.sys租户查看:select * from oceanbase.GV$OB_COMPACTION_DIAGNOSE_INFO ;
DIAGNOSE_INFO:current_status=“dag may hang”,merge_progress={ObCompactionProgress:{tenant_id:1004, merge_type:“MAJOR_MERGE”, merge_version:0, status:2, data_size:3579, unfinished_data_size:3579, original_size:0, compressed_size:0, start_time:1773600674465299, estimated_finish_time:1773600691466705, start_cg_idx:0, end_cg_idx:0}, is_suspect_abormal:true, create_time:1773600674465172, latest_update_ts:1773600674466703, dag_id:YB420A97D74C-00064A06F12FF6A3-0-0, base_version:0, snapshot_version:1773597608494261000, status:2}
3.查看 select * from GV$OB_MEMSTORE
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
论坛小助手
2026 年3 月 17 日 12:46
#3
针对您的问题,推荐使用 obdiag 工具进行日志采集,以便我们可以进一步分析问题的原因。
日志采集场景: 合并问题
日志采集命令: obdiag gather scene run --scene=observer.compaction
请您使用上述命令采集日志,并将采集到的日志提供给我们以便确认问题所在。此外,为了更好地了解具体情况,请您提供以下信息:
在这段时间内是否有执行过大量写操作或大事务?
系统在这段时间内的负载情况如何?是否存在高负载的情况?
您是否有在集群配置中调整过合并相关的参数?如果有,请提供具体的参数及其值。
能否提供最近几天的日志,特别是 3-16 和 3-17 两天的日志?
是否有观察到其他异常现象,如系统告警、网络故障等?
通过这些信息,我们将能够更准确地定位问题并提供解决方案。感谢您的配合!
附上敏捷诊断工具 obdiag 使用帮助链接
日志文件比较多,目前只有17日的observer.log了,提供近期2个文件可以 吗?
提供近期2个observer.log 够吗? 还是要全部的?
辞霜
2026 年3 月 17 日 14:25
#9
obstack这个命令 需要进入到observer目录下 obstack ${pid of observer} > obstack.trc
使用obstack打一下 堆栈信息
两个observer.log压缩之后50M,上传不了,怎么给您同步这个日志文件呀。
辞霜
2026 年3 月 17 日 14:40
#13
单独一个一个上传试试,一般压缩完只有30mb左右。
查询下这个sql
SELECT * FROM oceanbase.__all_virtual_trans_stat
WHERE tenant_id = 1004 AND ctx_create_time < DATE_SUB(NOW(), INTERVAL 30 MINUTE)
ORDER BY ctx_create_time;
这个sql在sys租户和用户租户执行结果为空。没有输出。
辞霜
2026 年3 月 17 日 14:43
#15
SELECT * FROM oceanbase.__all_virtual_dag_warning_history
WHERE tenant_id = 1004 ORDER BY gmt_create DESC LIMIT 20;
老师,刚才重新查询:
select * from oceanbase.GV$OB_COMPACTION_DIAGNOSE_INFO ;
结果跟12点的结果不一样了,status变成了FAILED,INFO信息如下:
error_no=-4012,last_error_time=1773730327657309,error_trace=YB420A97D74C-00064A10F65C3D87-0-0,location=ob_tablet_merge_info.cpp:196(create_sstable),warning=“MAJOR_MERGE/MEDIUM_MERGE;ls_id=1001;tablet_id=211135;compaction_scn=1773597608494261000;exec_mode=“EXEC_MODE_LOCAL”,concurrent_cnt=6”
辞霜
2026 年3 月 17 日 15:05
#21
大概原因查到了,存在[errcode=-6325] disk hang error(ret=-6325。
clog的磁盘hung住了,导致无法freeze任务超时无法结束。
麻烦确认下磁盘问题吧
好的老师,关停一段时间数据同步任务之后,合并操作 还能缓过来吧?