diff options
| author | dcorbacho <dparracorbacho@piotal.io> | 2021-03-03 22:45:26 +0100 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2021-03-04 04:06:41 +0300 |
| commit | ac43136653a9a49d07e96372bd51f1496b59fbc1 (patch) | |
| tree | 89865b8d0a49a712eb8e697fbbf198172d3d5fc1 | |
| parent | 3a73dadb611e25e2afe905914e80cd0c610df829 (diff) | |
| download | rabbitmq-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.erl | 7 | ||||
| -rw-r--r-- | deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl | 2 |
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 |
