diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2012-09-17 16:14:41 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-09-17 16:14:41 +0100 |
commit | cc904e726e83529e4a1a58f4072f66d50e9359d2 (patch) | |
tree | 4e258544b39f386f71af5441a6bbb1a65f13d0a6 | |
parent | 0641dddc1d32e3821d0fe503a52b37e1a4e601c9 (diff) | |
download | rabbitmq-server-bug25158.tar.gz |
ensure that slaves confirm messages when ttl=0bug25158
Fixed in the simplest possible, rather than most efficient, way - by
removing an optimisation.
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 20ba4574..e647627c 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -560,18 +560,15 @@ attempt_delivery(#delivery{sender = SenderPid, message = Message}, Confirm, end. deliver_or_enqueue(Delivery = #delivery{message = Message, - msg_seq_no = MsgSeqNo, sender = SenderPid}, State) -> Confirm = should_confirm_message(Delivery, State), case attempt_delivery(Delivery, Confirm, State) of {true, State1} -> maybe_record_confirm_message(Confirm, State1); - %% the next two are optimisations + %% the next one is an optimisations + %% TODO: optimise the Confirm =/= never case too {false, State1 = #q{ttl = 0, dlx = undefined}} when Confirm == never -> discard_delivery(Delivery, State1); - {false, State1 = #q{ttl = 0, dlx = undefined}} -> - rabbit_misc:confirm_to_sender(SenderPid, [MsgSeqNo]), - discard_delivery(Delivery, State1); {false, State1} -> State2 = #q{backing_queue = BQ, backing_queue_state = BQS} = maybe_record_confirm_message(Confirm, State1), |