summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-01-14 13:20:23 +0000
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-01-14 13:20:23 +0000
commit42ab766223b519da2b68229698b85e5d8a09d7ce (patch)
treea03858efde7e9932ce4a144fd2b37527211a2a5b
parent3036de45fe3ba8bc873967c319373bccd4c60157 (diff)
downloadrabbitmq-server-bug23679.tar.gz
Matthew's patch: don't add requeue'd messages to unconfirmedbug23679
-rw-r--r--src/rabbit_variable_queue.erl8
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,