summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2020-02-25 19:06:34 +0300
committerGitHub <noreply@github.com>2020-02-25 19:06:34 +0300
commit5ce141c9f5e50aaa61880ee54aff7f07287d2707 (patch)
treec03ad96a8372b353244f18c76e49ca3b7c05f6b8 /test
parent1cc662cf0d02d34f6f7b71b046f3859b47464e2a (diff)
parent5e99e875363060f759e1391b8f8fa102fd7edcb5 (diff)
downloadrabbitmq-server-git-5ce141c9f5e50aaa61880ee54aff7f07287d2707.tar.gz
Merge pull request #2255 from rabbitmq/qq-remove-member-fix
Split QQ remove member into two operations
Diffstat (limited to 'test')
-rw-r--r--test/quorum_queue_SUITE.erl19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/quorum_queue_SUITE.erl b/test/quorum_queue_SUITE.erl
index 1c96517c85..64a2dc4205 100644
--- a/test/quorum_queue_SUITE.erl
+++ b/test/quorum_queue_SUITE.erl
@@ -70,6 +70,7 @@ groups() ->
recover_from_multiple_failures,
leadership_takeover,
delete_declare,
+ delete_member_during_node_down,
metrics_cleanup_on_leadership_takeover,
metrics_cleanup_on_leader_crash,
consume_in_minority,
@@ -1413,6 +1414,24 @@ delete_member_not_a_member(Config) ->
rpc:call(Server, rabbit_quorum_queue, delete_member,
[<<"/">>, QQ, Server])).
+delete_member_during_node_down(Config) ->
+ [Server, DownServer, _] = rabbit_ct_broker_helpers:get_node_configs(
+ Config, nodename),
+
+ stop_node(Config, DownServer),
+ Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
+ QQ = ?config(queue_name, Config),
+ ?assertEqual({'queue.declare_ok', QQ, 0, 0},
+ declare(Ch, QQ, [{<<"x-queue-type">>, longstr, <<"quorum">>}])),
+ timer:sleep(200),
+ ?assertEqual(ok, rpc:call(Server, rabbit_quorum_queue, delete_member,
+ [<<"/">>, QQ, Server])),
+
+ rabbit_ct_broker_helpers:start_node(Config, DownServer),
+ ?assertEqual(ok, rpc:call(Server, rabbit_quorum_queue, repair_amqqueue_nodes,
+ [<<"/">>, QQ])),
+ ok.
+
%% These tests check if node removal would cause any queues to lose (or not lose)
%% their quorum. See rabbitmq/rabbitmq-cli#389 for background.