diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-01-14 13:20:23 +0000 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-01-14 13:20:23 +0000 |
commit | 42ab766223b519da2b68229698b85e5d8a09d7ce (patch) | |
tree | a03858efde7e9932ce4a144fd2b37527211a2a5b | |
parent | 3036de45fe3ba8bc873967c319373bccd4c60157 (diff) | |
download | rabbitmq-server-42ab766223b519da2b68229698b85e5d8a09d7ce.tar.gz |
Matthew's patch: don't add requeue'd messages to unconfirmedbug23679
-rw-r--r-- | src/rabbit_variable_queue.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 665cac96..35e37df6 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -710,10 +710,14 @@ tx_commit(Txn, Fun, MsgPropsFun, end)}. requeue(AckTags, MsgPropsFun, State) -> + MsgPropsFun1 = fun (MsgProps) -> + (MsgPropsFun(MsgProps)) #message_properties { + needs_confirming = false } + end, a(reduce_memory_use( ack(fun msg_store_release/3, fun (#msg_status { msg = Msg, msg_props = MsgProps }, State1) -> - {_SeqId, State2} = publish(Msg, MsgPropsFun(MsgProps), + {_SeqId, State2} = publish(Msg, MsgPropsFun1(MsgProps), true, false, State1), State2; ({IsPersistent, Guid, MsgProps}, State1) -> @@ -721,7 +725,7 @@ requeue(AckTags, MsgPropsFun, State) -> {{ok, Msg = #basic_message{}}, MSCState1} = msg_store_read(MSCState, IsPersistent, Guid), State2 = State1 #vqstate { msg_store_clients = MSCState1 }, - {_SeqId, State3} = publish(Msg, MsgPropsFun(MsgProps), + {_SeqId, State3} = publish(Msg, MsgPropsFun1(MsgProps), true, true, State2), State3 end, |