summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Nilsson <kjnilsson@gmail.com>2018-12-10 17:06:01 +0000
committerGitHub <noreply@github.com>2018-12-10 17:06:01 +0000
commit2eb31a5f39bc4d31b595db5674c93649bcda2844 (patch)
tree60a156c7e1794e8b20eeeeefcdb0de2530cb89ed
parent3800146d60244c006d21b0cb0c8f5dc3d0768b30 (diff)
parentbadf8590eeaa5e1e91da17505247d6d32c0260a6 (diff)
downloadrabbitmq-server-git-2eb31a5f39bc4d31b595db5674c93649bcda2844.tar.gz
Merge pull request #1792 from rabbitmq/qq-dlx-fix
Ignore error when dead letter exchange cannot be found
-rw-r--r--src/rabbit_quorum_queue.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_quorum_queue.erl b/src/rabbit_quorum_queue.erl
index bf4b432253..5e854a4657 100644
--- a/src/rabbit_quorum_queue.erl
+++ b/src/rabbit_quorum_queue.erl
@@ -559,9 +559,13 @@ args_policy_lookup(Name, Resolve, Q = #amqqueue{arguments = Args}) ->
dead_letter_publish(undefined, _, _, _) ->
ok;
dead_letter_publish(X, RK, QName, ReasonMsgs) ->
- {ok, Exchange} = rabbit_exchange:lookup(X),
- [rabbit_dead_letter:publish(Msg, Reason, Exchange, RK, QName)
- || {Reason, Msg} <- ReasonMsgs].
+ case rabbit_exchange:lookup(X) of
+ {ok, Exchange} ->
+ [rabbit_dead_letter:publish(Msg, Reason, Exchange, RK, QName)
+ || {Reason, Msg} <- ReasonMsgs];
+ {error, not_found} ->
+ ok
+ end.
%% TODO escape hack
qname_to_rname(#resource{virtual_host = <<"/">>, name = Name}) ->