Skip to content

Commit 958043c

Browse files
Queue federation: improve logging
around federated queue link state transitions (pause/unpause). References #8297.
1 parent 1c727a4 commit 958043c

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

deps/rabbitmq_federation/src/rabbit_federation_link_util.erl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,13 @@ connection_error(remote_start, {{shutdown, {server_initiated_close, Code, Messag
140140
connection_error(remote_start, E, Upstream, UParams, XorQName, State) ->
141141
rabbit_federation_status:report(
142142
Upstream, UParams, XorQName, clean_reason(E)),
143+
Reason = case E of
144+
{error, Value} -> Value;
145+
Other -> Other
146+
end,
143147
log_warning(XorQName, "did not connect to ~ts. Reason: ~tp",
144148
[rabbit_federation_upstream:params_to_string(UParams),
145-
E]),
149+
Reason]),
146150
{stop, {shutdown, restart}, State};
147151

148152
connection_error(remote, E, Upstream, UParams, XorQName, State) ->

deps/rabbitmq_federation/src/rabbit_federation_queue_link.erl

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ handle_cast(pause, State = #state{run = false}) ->
104104
handle_cast(pause, State = #not_started{}) ->
105105
{noreply, State#not_started{run = false}};
106106

107-
handle_cast(pause, State = #state{ch = Ch, upstream = Upstream}) ->
107+
handle_cast(pause, State = #state{ch = Ch, upstream = Upstream = #upstream{
108+
name = UpName, queue_name = QName
109+
}}) ->
110+
rabbit_log_federation:debug("Federation link of ~s (upstream: '~s'): asked to pause",
111+
[QName, UpName]),
108112
cancel(Ch, Upstream),
109113
{noreply, State#state{run = false}};
110114

@@ -305,18 +309,22 @@ visit_match(_ ,_) ->
305309
consumer_tag(#upstream{consumer_tag = ConsumerTag}) ->
306310
ConsumerTag.
307311

308-
consume(Ch, Upstream, UQueue) ->
312+
consume(Ch, Upstream = #upstream{name = UpName}, UQueue) ->
309313
ConsumerTag = consumer_tag(Upstream),
310314
NoAck = Upstream#upstream.ack_mode =:= 'no-ack',
315+
rabbit_log_federation:debug("Federation link of ~ts: will consume from the upstream '~ts'",
316+
[rabbit_misc:rs(amqqueue:get_name(UQueue)), UpName]),
311317
amqp_channel:cast(
312318
Ch, #'basic.consume'{queue = name(UQueue),
313319
no_ack = NoAck,
314320
nowait = true,
315321
consumer_tag = ConsumerTag,
316322
arguments = [{<<"x-priority">>, long, -1}]}).
317323

318-
cancel(Ch, Upstream) ->
324+
cancel(Ch, Upstream = #upstream{name = UpName, queue_name = QName}) ->
319325
ConsumerTag = consumer_tag(Upstream),
326+
rabbit_log_federation:debug("Federation queue '~ts' link: will cancel consumer '~ts' on upstream '~ts'",
327+
[QName, ConsumerTag, UpName]),
320328
amqp_channel:cast(Ch, #'basic.cancel'{nowait = true,
321329
consumer_tag = ConsumerTag}).
322330

deps/rabbitmq_federation/src/rabbit_federation_upstream.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ params_table(SafeURI, XorQ) ->
6161

6262
params_to_string(#upstream_params{safe_uri = SafeURI,
6363
x_or_q = XorQ}) ->
64-
print("~ts on ~ts", [rabbit_misc:rs(r(XorQ)), SafeURI]).
64+
print("~ts on '~ts'", [rabbit_misc:rs(r(XorQ)), SafeURI]).
6565

6666
remove_credentials(URI) ->
6767
list_to_binary(amqp_uri:remove_credentials(binary_to_list(URI))).

0 commit comments

Comments
 (0)