summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkjnilsson <knilsson@pivotal.io>2019-12-12 15:17:18 +0000
committerkjnilsson <knilsson@pivotal.io>2019-12-12 15:17:18 +0000
commitbdede1ae94a28a2855bb1701872d2c7a56dcc6d3 (patch)
tree9227a37c823501db3d636cd284ba0fccf2ce69bd
parent2962cad98247c9fdd11315742293a44eece7e598 (diff)
downloadrabbitmq-server-git-bdede1ae94a28a2855bb1701872d2c7a56dcc6d3.tar.gz
Ensure list_local_quorum_queues works
on both follower and leader nodes.
-rw-r--r--src/rabbit_amqqueue.erl6
-rw-r--r--test/quorum_queue_SUITE.erl8
2 files changed, 7 insertions, 7 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index b3ae071b7b..6227a5bbfa 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -1006,15 +1006,13 @@ list_by_type(Type) ->
list_local_quorum_queue_names() ->
[ amqqueue:get_name(Q) || Q <- list_by_type(quorum),
amqqueue:get_state(Q) =/= crashed,
- lists:member(node(), get_quorum_nodes(Q)),
- is_local_to_node(amqqueue:get_pid(Q), node())].
+ lists:member(node(), get_quorum_nodes(Q))].
-spec list_local_quorum_queues() -> [amqqueue:amqqueue()].
list_local_quorum_queues() ->
[ Q || Q <- list_by_type(quorum),
amqqueue:get_state(Q) =/= crashed,
- lists:member(node(), get_quorum_nodes(Q)),
- is_local_to_node(amqqueue:get_pid(Q), node())].
+ lists:member(node(), get_quorum_nodes(Q))].
-spec list_local_leaders() -> [amqqueue:amqqueue()].
list_local_leaders() ->
diff --git a/test/quorum_queue_SUITE.erl b/test/quorum_queue_SUITE.erl
index eff5e7c5ce..808d4470aa 100644
--- a/test/quorum_queue_SUITE.erl
+++ b/test/quorum_queue_SUITE.erl
@@ -1395,14 +1395,16 @@ delete_member_not_a_member(Config) ->
%% their quorum. See rabbitmq/rabbitmq-cli#389 for background.
node_removal_is_quorum_critical(Config) ->
- [Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
+ [Server | _] = Servers = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
QName = ?config(queue_name, Config),
?assertEqual({'queue.declare_ok', QName, 0, 0},
declare(Ch, QName, [{<<"x-queue-type">>, longstr, <<"quorum">>}])),
timer:sleep(100),
- Qs = rpc:call(Server, rabbit_quorum_queue, list_with_minimum_quorum, []),
- ?assertEqual([QName], queue_names(Qs)).
+ [begin
+ Qs = rpc:call(S, rabbit_quorum_queue, list_with_minimum_quorum, []),
+ ?assertEqual([QName], queue_names(Qs))
+ end || S <- Servers].
node_removal_is_not_quorum_critical(Config) ->
[Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),