I have a mysql8.4.10 cluster of 3 nodes A/B/C with default config pc.wait_prim = true; pc.wait_prim_timeout = PT30S; pc.wait_restored_prim_timeout = PT0S; pc.recovery=true.
When all nodes power off at almost the same time, 3 nodes will auto choose a bootstrap when they start up later and everything will be ok.
But if the down time be not the same, it will not process properly.
When node A power down, it will have 3 members in gvwstate.dat
After a few seconds, gvwstate.dat in node B/C will have only 2 members。
Then node B/C also power down.
Then start 3 nodes at the same time without a bootstrap node.
All nodes will become non-primary and mysql port will not be up and mysqld will never exit.
All mysqld will not process any signal. Script mysql.server can not stop/restart the running mysqld.
I can not set one node to bootstrap since the mysql listen port is not up.
I have to kill one mysqld and start it with bootstrap, then the cluster will be ok.
How can I fix this problem? The power down time will be random, I can not expect all gvwstate.dat to be the same. My cluster size is fixed , when all 3 nodes are up, the bootstrap node can be decided. Why the difference in gvwstate.dat will stop the cluster from auto choosing a bootstrap?
Can I change some params to fix this problem?