首批通过分布式安全可靠测评,为关键业务系统打造
日志报错 rs_monitor_check : thread hang
更新时间:2026-06-08 02:36
适用版本
OceanBase 数据库 V2.x、V3.x 版本。
问题描述
OceanBase 集群 Root Service 组件日志周期性规律报错如下。
[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
问题原因
Root Service 组件在做负载均衡检查的时候,需要去查系统表 __all_virtual_replica_task;而查询这个表的时候,需要反复查询系统表 __all_tenant_meta_table 表中的分区,当 OceanBase 集群中的表数量过多时,查询就会超时。
流程如下:
集群表
__all_virtual_replica_task过多。查询表
__all_tenant_meta_table的次数较多。查询
__all_virtual_replica_task表超时。Root Service 负载均衡任务卡住。
解决方法
减少 OceanBase 集群表的数量,暂无其他有效规避手段。
此问题暂时不影响 OceanBase 集群正常使用。但需要关注 OceanBase 集群是否可以执行负载均衡任务,并且自动负载均衡导致资源分配不均匀的情况出现。