diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2013-09-09 15:32:50 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2013-09-09 15:32:50 +0100 |
commit | 0f5ad9a2be6ff05025f218d764c0647f03a34e67 (patch) | |
tree | fc6e3ab32eac41a0471e499672ac2e6e9b10e4d9 | |
parent | 5eb9f61c696cc9d087cb2d7bb3ff014aefc97c78 (diff) | |
download | rabbitmq-server-bug25748.tar.gz |
Fix removal of DLX policybug25748
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 7 |
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)}. |