Tencent / phxsql

A high availability MySQL cluster that guarantees data consistency between a master and slaves.
Other
2.47k stars 558 forks source link

一种会导致集群无法启动的单节点故障 #147

Open zqdai opened 6 years ago

zqdai commented 6 years ago

遇到一种情况,3个节点,断电后重启,原master节点报告checksum不正确所以phxbinlogsvr无法启动。而尽管另外的节点数据正常,但mysql却卡在GetLastSendGtid函数上,同时phxbinlogsvr由于也无法连接到mysql从而也不能满足选主的条件,然后整个系统会一直卡住。

重现方法:3个节点,正常运行一段时间后同时关闭所有节点,启动原来的两个slave节点且不要启动原master节点,问题重现。

另外请教一下,mysql的GetLastSendGtid能否直接从本地的phxbinlogsvr获取信息,而不是 Get from Global? 谢谢!

zhaowengxing commented 5 years ago

我测试的是3个节点,如果全部关闭后,即使重新开启全部节点,集群也不能恢复工作。