rootservice的主副本切不动

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】3.2.4
【问题描述】集群启动时,rootservice的主副本在zone2上,然后手工将rootservice主副本切到zone1或者zone3上,一会,rootservice的主副本自己就回切回zone2
【复现路径】
使用以下命令切主
ALTER SYSTEM SWITCH ROOTSERVICE LEADER ZONE ‘zone3’;
ALTER SYSTEM SWITCH ROOTSERVICE LEADER ZONE ‘zone1’;
【附件及日志】
他自己回切时,rootservice.log日志出现以下日志:
[2024-03-20 10:48:18.524293] WDIAG ob_rpc_proxy.cpp:331 [18535][0][Y0-0000000000000000-0-0] [lt=20] [dc=0][errcode=-4638]
[2024-03-20 10:48:18.533396] WDIAG ob_rpc_proxy.cpp:331 [18535][0][YB42AC10FFDE-0006140E8BC4F058-0-0] [lt=14] [dc=0][errcode=-4638]
[2024-03-20 10:48:18.828242] WDIAG ob_direct_receive.cpp:308 [17427][0][YB42AC10FFDE-0006140E8CA4F04B-0-0] [lt=21] [dc=0][errcode=-4653]
[2024-03-20 10:48:19.125566] WDIAG ob_direct_receive.cpp:308 [17427][0][YB42AC10FFDE-0006140E8CA4F04B-0-0] [lt=15] [dc=0][errcode=-4653]
[2024-03-20 10:48:19.131336] WDIAG ob_direct_receive.cpp:308 [17427][0][YB42AC10FFDE-0006140E8CA4F04B-0-0] [lt=19] [dc=0][errcode=-4653]
[2024-03-20 10:48:19.174150] WDIAG ob_direct_receive.cpp:308 [17427][0][YB42AC10FFDE-0006140E8CA4F04B-0-0] [lt=14] [dc=0][errcode=-4653]

切换过程中的确会出现无主的错误码。在未修改sys租户的primary zone设置的情况下,rootservice的确会根据primary zone设定会自动切回,可以首先使用以下SQL查询一下primary zone的配置:

select tenant_name,primary_zone from oceanbase.__all_tenant where tenant_name='sys';
2 个赞

谢谢大佬,确实是primary_zone的事情,将primary_zone改成其他zone,rootservice的主副本就切到其他zone上了