From 9f69da3fbb3d812cd3530d54c3e21725a860029c Mon Sep 17 00:00:00 2001 From: Michal Kuratczyk Date: Thu, 27 Nov 2025 17:43:20 +0100 Subject: [PATCH] [skip ci] Optional delay in `make restart-cluster` `make restart-cluster` allows simple rolling restart/upgrade testing. `make restart-cluster RESTART_DELAY=N` adds an option to force a delay from when a node goes down, till it start up again. This is useful in some tests scenarios, such as: 1. forcing the cluster to work longer in a mixed-version configuration 2. forcing the stopped member to fall behind in terms of replication to trigger a more demanding catch-up (cherry picked from commit 067d7ce426f4169c72b7c2ddcb2c467eb2786306) --- deps/rabbit_common/mk/rabbitmq-run.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/deps/rabbit_common/mk/rabbitmq-run.mk b/deps/rabbit_common/mk/rabbitmq-run.mk index 480b6dd442c5..1053f1a7c3be 100644 --- a/deps/rabbit_common/mk/rabbitmq-run.mk +++ b/deps/rabbit_common/mk/rabbitmq-run.mk @@ -33,6 +33,8 @@ RABBITMQCTL ?= $(RABBITMQ_SCRIPTS_DIR)/rabbitmqctl RABBITMQ_UPGRADE ?= $(RABBITMQ_SCRIPTS_DIR)/rabbitmq-upgrade endif +RESTART_DELAY ?= 0 + export RABBITMQ_SCRIPTS_DIR RABBITMQCTL RABBITMQ_PLUGINS RABBITMQ_SERVER RABBITMQ_UPGRADE # We export MAKE to be sure scripts and tests use the proper command. @@ -415,6 +417,8 @@ restart-cluster: $(RABBITMQ_UPGRADE) -n "$$nodename" drain; \ $(MAKE) stop-node \ RABBITMQ_NODENAME="$$nodename"; \ + echo "Sleeping for $(RESTART_DELAY) seconds..."; \ + sleep $(RESTART_DELAY); \ $(MAKE) start-background-broker \ NOBUILD=1 \ RABBITMQ_NODENAME="$$nodename" \