diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-09-17 13:27:16 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-09-17 13:27:16 +0100 |
commit | 1fd784d838b780bc282bdf726f6a74a27928ca66 (patch) | |
tree | 0f304864ecaf07be0a4fd27d1457767a460b5053 | |
parent | 5f0f240e15583e1c5f88ff7d21f7232b0e0d64d3 (diff) | |
download | rabbitmq-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.erl | 13 |
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 |