summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_mirror_queue_misc.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/rabbit_mirror_queue_misc.erl b/src/rabbit_mirror_queue_misc.erl
index ebaae99539..5325f1be20 100644
--- a/src/rabbit_mirror_queue_misc.erl
+++ b/src/rabbit_mirror_queue_misc.erl
@@ -236,8 +236,17 @@ suggested_queue_nodes(Q) ->
_ -> MNode0
end,
suggested_queue_nodes(policy(<<"ha-mode">>, Q), policy(<<"ha-params">>, Q),
- {MNode, SNodes},
- rabbit_mnesia:running_clustered_nodes()).
+ {MNode, SNodes}, clusterable_nodes()).
+
+clusterable_nodes() ->
+ %% We may end up here via on_node_up/0, in which case we are still
+ %% booting - rabbit_mnesia:running_clustered_nodes/0 will report
+ %% us as not running.
+ Nodes = rabbit_mnesia:running_clustered_nodes(),
+ case lists:member(node(), Nodes) of
+ true -> Nodes;
+ false -> [node() | Nodes]
+ end.
policy(Policy, Q) ->
case rabbit_policy:get(Policy, Q) of