summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2018-01-24 14:45:38 +0300
committerMichael Klishin <michael@clojurewerkz.org>2018-01-24 14:45:38 +0300
commit0c8c45f6c09d2d955112527a47cd138033e20010 (patch)
tree970dde9106928ea8bf52114d6f265712887d26df
parentd92c1959a6fe7797861c8783465660c4e46bcae8 (diff)
parent04f0b135931ae699d9fbd7a26ee928347df945c6 (diff)
downloadrabbitmq-server-git-0c8c45f6c09d2d955112527a47cd138033e20010.tar.gz
Merge branch 'rabbitmq-server-channel-interceptor-hang'
-rw-r--r--src/rabbit_channel.erl20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index edb782f9f9..171a4dd8a7 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -361,13 +361,29 @@ emit_info(PidList, InfoItems, Ref, AggregatorPid) ->
refresh_config_local() ->
rabbit_misc:upmap(
- fun (C) -> gen_server2:call(C, refresh_config, infinity) end,
+ fun (C) ->
+ try
+ gen_server2:call(C, refresh_config, infinity)
+ catch _:Reason ->
+ rabbit_log:error("Failed to refresh channel config "
+ "for channel ~p. Reason ~p",
+ [C, Reason])
+ end
+ end,
list_local()),
ok.
refresh_interceptors() ->
rabbit_misc:upmap(
- fun (C) -> gen_server2:call(C, refresh_interceptors, ?REFRESH_TIMEOUT) end,
+ fun (C) ->
+ try
+ gen_server2:call(C, refresh_interceptors, ?REFRESH_TIMEOUT)
+ catch _:Reason ->
+ rabbit_log:error("Failed to refresh channel interceptors "
+ "for channel ~p. Reason ~p",
+ [C, Reason])
+ end
+ end,
list_local()),
ok.