summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-09-17 13:27:16 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-09-17 13:27:16 +0100
commit1fd784d838b780bc282bdf726f6a74a27928ca66 (patch)
tree0f304864ecaf07be0a4fd27d1457767a460b5053
parent5f0f240e15583e1c5f88ff7d21f7232b0e0d64d3 (diff)
downloadrabbitmq-server-1fd784d838b780bc282bdf726f6a74a27928ca66.tar.gz
Cope with the fact that rabbit_mnesia:running_clustered_nodes/0 now does not include node() during boot.
-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 ebaae995..5325f1be 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