diff options
author | Michael Klishin <klishinm@vmware.com> | 2021-09-20 23:08:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-20 23:08:03 +0300 |
commit | ddbd56b1d9614bb4acc957f5777c98e47e2af9e9 (patch) | |
tree | ffe681225bf1db0228e2b5250322f1ee0e900788 | |
parent | e4bda83b8ec81e2efe44ffa3d7111cd9f401b5af (diff) | |
parent | 0f6a9dac27dd7912e88f7533b5f750c9d211a75e (diff) | |
download | rabbitmq-server-git-ddbd56b1d9614bb4acc957f5777c98e47e2af9e9.tar.gz |
Merge pull request #3462 from rabbitmq/mk-rabbit-nodes-all
Introduce rabbit_nodes:all/0
-rw-r--r-- | deps/rabbit/src/rabbit_amqqueue.erl | 2 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_autoheal.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_core_metrics_gc.erl | 2 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_mnesia_rename.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_node_monitor.erl | 14 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_nodes.erl | 7 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_quorum_queue.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_stream_coordinator.erl | 2 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_stream_queue.erl | 2 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_table.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_upgrade.erl | 2 | ||||
-rw-r--r-- | deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl | 2 | ||||
-rw-r--r-- | deps/rabbitmq_mqtt/src/mqtt_node.erl | 2 | ||||
-rw-r--r-- | deps/rabbitmq_stream/src/rabbit_stream_sup.erl | 2 |
14 files changed, 28 insertions, 25 deletions
diff --git a/deps/rabbit/src/rabbit_amqqueue.erl b/deps/rabbit/src/rabbit_amqqueue.erl index 2f0ff6fc00..410105e310 100644 --- a/deps/rabbit/src/rabbit_amqqueue.erl +++ b/deps/rabbit/src/rabbit_amqqueue.erl @@ -1779,7 +1779,7 @@ forget_node_for_queue(DeadNode, [H|T], Q) when ?is_amqqueue(Q) -> node_permits_offline_promotion(Node) -> case node() of Node -> not rabbit:is_running(); %% [1] - _ -> All = rabbit_mnesia:cluster_nodes(all), + _ -> All = rabbit_nodes:all(), Running = rabbit_nodes:all_running(), lists:member(Node, All) andalso not lists:member(Node, Running) %% [2] diff --git a/deps/rabbit/src/rabbit_autoheal.erl b/deps/rabbit/src/rabbit_autoheal.erl index ae2888c9f7..cdf430b973 100644 --- a/deps/rabbit/src/rabbit_autoheal.erl +++ b/deps/rabbit/src/rabbit_autoheal.erl @@ -144,7 +144,7 @@ enabled() -> end. leader() -> - [Leader | _] = lists:usort(rabbit_mnesia:cluster_nodes(all)), + [Leader | _] = lists:usort(rabbit_nodes:all()), Leader. %% This is the winner receiving its last notification that a node has @@ -410,7 +410,7 @@ partition_value(Partition) -> %% only know which nodes we have been partitioned from, not which %% nodes are partitioned from each other. check_other_nodes(LocalPartitions) -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), {Results, Bad} = rabbit_node_monitor:status(Nodes -- [node()]), RemotePartitions = [{Node, proplists:get_value(partitions, Res)} || {Node, Res} <- Results], diff --git a/deps/rabbit/src/rabbit_core_metrics_gc.erl b/deps/rabbit/src/rabbit_core_metrics_gc.erl index fd1a8cc7e1..156517c97e 100644 --- a/deps/rabbit/src/rabbit_core_metrics_gc.erl +++ b/deps/rabbit/src/rabbit_core_metrics_gc.erl @@ -102,7 +102,7 @@ gc_exchanges() -> gc_process_and_entity(channel_exchange_metrics, GbSet). gc_nodes() -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), GbSet = gb_sets:from_list(Nodes), gc_entity(node_node_metrics, GbSet). diff --git a/deps/rabbit/src/rabbit_mnesia_rename.erl b/deps/rabbit/src/rabbit_mnesia_rename.erl index d8f6237e42..842662db42 100644 --- a/deps/rabbit/src/rabbit_mnesia_rename.erl +++ b/deps/rabbit/src/rabbit_mnesia_rename.erl @@ -100,7 +100,7 @@ prepare(Node, NodeMapList) -> %% Check that we are in the cluster, all old nodes are in the %% cluster, and no new nodes are. - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), case {FromNodes -- Nodes, ToNodes -- (ToNodes -- Nodes), lists:member(Node, Nodes ++ ToNodes)} of {[], [], true} -> ok; @@ -232,7 +232,7 @@ update_term(_NodeMap, Term) -> Term. rename_in_running_mnesia(FromNode, ToNode) -> - All = rabbit_mnesia:cluster_nodes(all), + All = rabbit_nodes:all(), Running = rabbit_nodes:all_running(), case {lists:member(FromNode, Running), lists:member(ToNode, All)} of {false, true} -> ok; diff --git a/deps/rabbit/src/rabbit_node_monitor.erl b/deps/rabbit/src/rabbit_node_monitor.erl index 72ed13743f..4de4e4f1ca 100644 --- a/deps/rabbit/src/rabbit_node_monitor.erl +++ b/deps/rabbit/src/rabbit_node_monitor.erl @@ -876,7 +876,7 @@ majority() -> majority([]). majority(NodesDown) -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), AliveNodes = alive_nodes(Nodes) -- NodesDown, length(AliveNodes) / length(Nodes) > 0.5. @@ -889,28 +889,28 @@ in_preferred_partition(PreferredNodes) -> in_preferred_partition(PreferredNodes, []). in_preferred_partition(PreferredNodes, NodesDown) -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), RealPreferredNodes = [N || N <- PreferredNodes, lists:member(N, Nodes)], AliveNodes = alive_nodes(RealPreferredNodes) -- NodesDown, RealPreferredNodes =:= [] orelse AliveNodes =/= []. all_nodes_up() -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), length(alive_nodes(Nodes)) =:= length(Nodes). -spec all_rabbit_nodes_up() -> boolean(). all_rabbit_nodes_up() -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), length(alive_rabbit_nodes(Nodes)) =:= length(Nodes). -alive_nodes() -> alive_nodes(rabbit_mnesia:cluster_nodes(all)). +alive_nodes() -> alive_nodes(rabbit_nodes:all()). -spec alive_nodes([node()]) -> [node()]. alive_nodes(Nodes) -> [N || N <- Nodes, lists:member(N, [node()|nodes()])]. -alive_rabbit_nodes() -> alive_rabbit_nodes(rabbit_mnesia:cluster_nodes(all)). +alive_rabbit_nodes() -> alive_rabbit_nodes(rabbit_nodes:all()). -spec alive_rabbit_nodes([node()]) -> [node()]. @@ -922,7 +922,7 @@ alive_rabbit_nodes(Nodes) -> -spec ping_all() -> 'ok'. ping_all() -> - [net_adm:ping(N) || N <- rabbit_mnesia:cluster_nodes(all)], + [net_adm:ping(N) || N <- rabbit_nodes:all()], ok. possibly_partitioned_nodes() -> diff --git a/deps/rabbit/src/rabbit_nodes.erl b/deps/rabbit/src/rabbit_nodes.erl index ac9d996ef1..eecf04f13e 100644 --- a/deps/rabbit/src/rabbit_nodes.erl +++ b/deps/rabbit/src/rabbit_nodes.erl @@ -14,7 +14,7 @@ await_running_count/2, is_single_node_cluster/0, boot/0]). -export([persistent_cluster_id/0, seed_internal_cluster_id/0, seed_user_provided_cluster_name/0]). --export([all_running_with_hashes/0]). +-export([all/0, all_running_with_hashes/0]). -export([lock_id/1, lock_retries/0]). -include_lib("kernel/include/inet.hrl"). @@ -137,6 +137,9 @@ set_cluster_name(Name, Username) -> ensure_epmd() -> rabbit_nodes_common:ensure_epmd(). +-spec all() -> [node()]. +all() -> rabbit_mnesia:cluster_nodes(all). + -spec all_running() -> [node()]. all_running() -> rabbit_mnesia:cluster_nodes(running). @@ -144,7 +147,7 @@ all_running() -> rabbit_mnesia:cluster_nodes(running). running_count() -> length(all_running()). -spec total_count() -> integer(). -total_count() -> length(rabbit_mnesia:cluster_nodes(all)). +total_count() -> length(rabbit_nodes:all()). -spec is_single_node_cluster() -> boolean(). is_single_node_cluster() -> diff --git a/deps/rabbit/src/rabbit_quorum_queue.erl b/deps/rabbit/src/rabbit_quorum_queue.erl index 1305327758..0131d1538b 100644 --- a/deps/rabbit/src/rabbit_quorum_queue.erl +++ b/deps/rabbit/src/rabbit_quorum_queue.erl @@ -176,7 +176,7 @@ start_cluster(Q) -> rabbit_data_coercion:to_atom(ra:new_uid(N)) end, Id = {RaName, node()}, - Nodes = select_quorum_nodes(QuorumSize, rabbit_mnesia:cluster_nodes(all)), + Nodes = select_quorum_nodes(QuorumSize, rabbit_nodes:all()), NewQ0 = amqqueue:set_pid(Q, Id), NewQ1 = amqqueue:set_type_state(NewQ0, #{nodes => Nodes}), @@ -440,7 +440,7 @@ handle_tick(QName, {messages_unacknowledged, MU}, {reductions, R}]), ok = repair_leader_record(QName, Self), - ExpectedNodes = rabbit_mnesia:cluster_nodes(all), + ExpectedNodes = rabbit_nodes:all(), case Nodes -- ExpectedNodes of [] -> ok; diff --git a/deps/rabbit/src/rabbit_stream_coordinator.erl b/deps/rabbit/src/rabbit_stream_coordinator.erl index c2767cffb1..70989e383b 100644 --- a/deps/rabbit/src/rabbit_stream_coordinator.erl +++ b/deps/rabbit/src/rabbit_stream_coordinator.erl @@ -475,7 +475,7 @@ maybe_resize_coordinator_cluster() -> {_, Members, _} -> MemberNodes = [Node || {_, Node} <- Members], Running = rabbit_mnesia:cluster_nodes(running), - All = rabbit_mnesia:cluster_nodes(all), + All = rabbit_nodes:all(), case Running -- MemberNodes of [] -> ok; diff --git a/deps/rabbit/src/rabbit_stream_queue.erl b/deps/rabbit/src/rabbit_stream_queue.erl index 6f9f245624..20166bfa9c 100644 --- a/deps/rabbit/src/rabbit_stream_queue.erl +++ b/deps/rabbit/src/rabbit_stream_queue.erl @@ -750,7 +750,7 @@ make_stream_conf(Node, Q) -> InitialClusterSize = initial_cluster_size( args_policy_lookup(<<"initial-cluster-size">>, fun policy_precedence/2, Q)), - Replicas0 = rabbit_mnesia:cluster_nodes(all) -- [Node], + Replicas0 = rabbit_nodes:all() -- [Node], %% TODO: try to avoid nodes that are not connected Replicas = select_stream_nodes(InitialClusterSize - 1, Replicas0), Formatter = {?MODULE, format_osiris_event, [QName]}, diff --git a/deps/rabbit/src/rabbit_table.erl b/deps/rabbit/src/rabbit_table.erl index a274eb0da4..291adc740b 100644 --- a/deps/rabbit/src/rabbit_table.erl +++ b/deps/rabbit/src/rabbit_table.erl @@ -107,10 +107,10 @@ wait(TableNames, Timeout, Retries) -> ok -> ok; {timeout, BadTabs} -> - AllNodes = rabbit_mnesia:cluster_nodes(all), + AllNodes = rabbit_nodes:all(), {error, {timeout_waiting_for_tables, AllNodes, BadTabs}}; {error, Reason} -> - AllNodes = rabbit_mnesia:cluster_nodes(all), + AllNodes = rabbit_nodes:all(), {error, {failed_waiting_for_tables, AllNodes, Reason}} end, case {Retries, Result} of diff --git a/deps/rabbit/src/rabbit_upgrade.erl b/deps/rabbit/src/rabbit_upgrade.erl index 7f3d2e9b8e..03aa6854de 100644 --- a/deps/rabbit/src/rabbit_upgrade.erl +++ b/deps/rabbit/src/rabbit_upgrade.erl @@ -111,7 +111,7 @@ remove_backup() -> -spec maybe_upgrade_mnesia() -> 'ok'. maybe_upgrade_mnesia() -> - AllNodes = rabbit_mnesia:cluster_nodes(all), + AllNodes = rabbit_nodes:all(), ok = rabbit_mnesia_rename:maybe_finish(AllNodes), %% Mnesia upgrade is the first upgrade scope, %% so we should create a backup here if there are any upgrades diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl index 4ce43d0fd7..8231f804a3 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_gc.erl @@ -105,7 +105,7 @@ gc_exchanges() -> gc_process_and_entity(channel_exchange_stats_fine_stats, GbSet). gc_nodes() -> - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), GbSet = gb_sets:from_list(Nodes), gc_entity(node_stats, GbSet), gc_entity(node_coarse_stats, GbSet), diff --git a/deps/rabbitmq_mqtt/src/mqtt_node.erl b/deps/rabbitmq_mqtt/src/mqtt_node.erl index f2f6b04ee1..3c74499ed8 100644 --- a/deps/rabbitmq_mqtt/src/mqtt_node.erl +++ b/deps/rabbitmq_mqtt/src/mqtt_node.erl @@ -24,7 +24,7 @@ server_id(Node) -> {?ID_NAME, Node}. all_node_ids() -> - [server_id(N) || N <- rabbit_mnesia:cluster_nodes(all), + [server_id(N) || N <- rabbit_nodes:all(), can_participate_in_clientid_tracking(N)]. start() -> diff --git a/deps/rabbitmq_stream/src/rabbit_stream_sup.erl b/deps/rabbitmq_stream/src/rabbit_stream_sup.erl index 9a79e56f88..dc9d528fe8 100644 --- a/deps/rabbitmq_stream/src/rabbit_stream_sup.erl +++ b/deps/rabbitmq_stream/src/rabbit_stream_sup.erl @@ -52,7 +52,7 @@ init([]) -> end} end, - Nodes = rabbit_mnesia:cluster_nodes(all), + Nodes = rabbit_nodes:all(), OsirisConf = #{nodes => Nodes}, ServerConfiguration = |