summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordcorbacho <dparracorbacho@piotal.io>2021-03-03 22:45:26 +0100
committerMichael Klishin <michael@clojurewerkz.org>2021-03-04 04:06:41 +0300
commitac43136653a9a49d07e96372bd51f1496b59fbc1 (patch)
tree89865b8d0a49a712eb8e697fbbf198172d3d5fc1
parent3a73dadb611e25e2afe905914e80cd0c610df829 (diff)
downloadrabbitmq-server-git-mk-lager-3-9-0.tar.gz
Use scope on pg groups and skip `go` call from the appmk-lager-3-9-0
`rabbit_federation_queue_link:go()` and the exchange equivalent are asynchronous (cast). They are luckily executed after the links are started by the decorators, and probably most of the time they find the links up and ready to `go`. However, this might not always be the case. The retry introduced on the previous commit that is triggered by the link itself once if finds that federation is down, guarantees that the `go` will be handled by the link process. Thus, the calls to rabbit_federation_queue_link:go() and rabbit_federation_exchange_link:go() can be removed from the app.
-rw-r--r--deps/rabbitmq_federation/src/rabbit_federation_app.erl7
-rw-r--r--deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl2
2 files changed, 2 insertions, 7 deletions
diff --git a/deps/rabbitmq_federation/src/rabbit_federation_app.erl b/deps/rabbitmq_federation/src/rabbit_federation_app.erl
index b205ee4185..c3cfc28f04 100644
--- a/deps/rabbitmq_federation/src/rabbit_federation_app.erl
+++ b/deps/rabbitmq_federation/src/rabbit_federation_app.erl
@@ -10,7 +10,7 @@
-include("rabbit_federation.hrl").
-behaviour(application).
--export([start/2, stop/1, start_federation_links/0]).
+-export([start/2, stop/1]).
%% Dummy supervisor - see Ulf Wiger's comment at
%% http://erlang.2086793.n4.nabble.com/initializing-library-applications-without-processes-td2094473.html
@@ -29,17 +29,12 @@
-export([init/1]).
start(_Type, _StartArgs) ->
- _ = timer:apply_after(500, ?MODULE, start_federation_links, []),
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
stop(_State) ->
rabbit_federation_pg:stop_scope(),
ok.
-start_federation_links() ->
- rabbit_federation_exchange_link:go(),
- rabbit_federation_queue_link:go().
-
%%----------------------------------------------------------------------------
init([]) ->
diff --git a/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl b/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl
index d723d86aec..1919d5d7e2 100644
--- a/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl
+++ b/deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl
@@ -43,7 +43,7 @@ join(Name) ->
ok = pg:join(?FEDERATION_PG_SCOPE, pgname(Name), self()).
all() ->
- pg:get_members(pgname(rabbit_federation_queues)).
+ pg:get_members(?FEDERATION_PG_SCOPE, pgname(rabbit_federation_queues)).
q(QName) ->
case pg:get_members(?FEDERATION_PG_SCOPE, pgname({rabbit_federation_queue, QName})) of