Allow single-node clusters to restart and timeout

Prevents a daemon from waiting forever to terminate if it is primary,
and avoids this entirely if there is only a single node in the cluster.
This commit is contained in:
Joshua Boniface 2021-12-28 03:06:03 -05:00
parent 67131de4f6
commit 00d2c67c41
1 changed files with 5 additions and 2 deletions

View File

@ -233,11 +233,14 @@ def entrypoint():
# Force into secondary coordinator state if needed # Force into secondary coordinator state if needed
try: try:
if this_node.router_state == "primary": if this_node.router_state == "primary" and len(d_node) > 1:
zkhandler.write([("base.config.primary_node", "none")]) zkhandler.write([("base.config.primary_node", "none")])
logger.out("Waiting for primary migration", state="s") logger.out("Waiting for primary migration", state="s")
while this_node.router_state != "secondary": timeout = 240
count = 0
while this_node.router_state != "secondary" and count < timeout:
sleep(0.5) sleep(0.5)
count += 1
except Exception: except Exception:
pass pass