首批通过分布式安全可靠测评,为关键业务系统打造
RS 自检线程报错 thread hang
更新时间:2026-06-12 07:31
适用版本
OceanBase 数据库 V2.x、V3.x 版本。
问题现象
集群 RS 日志报错如下,周期性规律报错。
[2022-06-29 21:36:57.609151] ERROR [RS] check_alert (ob_rs_reentrant_thread.cpp:105) [26994][642][Y0-0000000000000000] [lt=31] [dc=0] rs_monitor_check : thread hang(thread_name="RootBalance", last_run_timestamp=1656508913701711, last_run_interval=903907438, check_interval=900000000, schedule_interval=300000000) BACKTRACE:0xcc279ca 0xcb46db2 0x6569f44 0x656ac98 0x6569bb0 0x65695ea 0x65691c3 0x616e74b 0x528a783 0xcb963ca 0xcb95edb 0x37de2d9 0xc9c6a97 0xc9c3980 0xc9c281f
问题原因
在集群开启物理备份后,RS 会周期性自检备份任务的状态。RS 自检需要去查表 __all_virtual_replica_task、__all_tenant_meta_table 等内部表,当集群中的表的数量过多时,自检任务耗时超过了十分钟的超时阈值。
解决方法
OBServer 未来会增加自家耗时的超时阈值。暂不影响集群正常使用,但是需要关注集群是否可以执行 balance 任务,自动 balance 等防止资源分配不均匀的情况。