Two bugs prevented the cluster from working after a stop/start cycle:
1. tcp_listen_tcp() and tcp_listen_tls() had reuse_addr set to false,
causing bind() to fail with EADDRINUSE when ports are in TIME_WAIT
state after a restart. Set SO_REUSEADDR to true.
2. The vsr_boot_marker file (created in CWD on first boot) was never
cleaned up on cluster stop. On restart, all nodes would enter
STATUS_RECOVERY, but since RECOVERY messages are only processed by
nodes in STATUS_NORMAL, the entire cluster would deadlock with no
node able to recover. Remove the marker in cluster.sh stop.
https://claude.ai/code/session_01U72omHJrk95xFwm22Rkqgt