summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-09-09 15:32:50 +0100
committerSimon MacMullen <simon@rabbitmq.com>2013-09-09 15:32:50 +0100
commit0f5ad9a2be6ff05025f218d764c0647f03a34e67 (patch)
treefc6e3ab32eac41a0471e499672ac2e6e9b10e4d9
parent5eb9f61c696cc9d087cb2d7bb3ff014aefc97c78 (diff)
downloadrabbitmq-server-bug25748.tar.gz
Fix removal of DLX policybug25748
-rw-r--r--src/rabbit_amqqueue_process.erl7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index f5c6cf85..0d9ac1e3 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -266,10 +266,7 @@ recovery_barrier(BarrierPid) ->
process_args_policy(State0 = #q{q = Q = #amqqueue{arguments = Arguments}}) ->
State1 = lists:foldl(
fun({Arg, Fun}, StateN) ->
- case rabbit_policy:get(Arg, Q) of
- undefined -> StateN;
- Val -> Fun(Val, StateN)
- end
+ Fun(rabbit_policy:get(Arg, Q), StateN)
end, State0,
[{<<"dead-letter-exchange">>, fun init_dlx/2},
{<<"dead-letter-routing-key">>, fun init_dlx_routing_key/2}]),
@@ -290,6 +287,8 @@ init_expires(Expires, State) -> ensure_expiry_timer(State#q{expires = Expires}).
init_ttl(TTL, State) -> drop_expired_msgs(State#q{ttl = TTL}).
+init_dlx(undefined, State) ->
+ State#q{dlx = undefined};
init_dlx(DLX, State = #q{q = #amqqueue{name = QName}}) ->
State#q{dlx = rabbit_misc:r(QName, exchange, DLX)}.