diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-01-14 13:25:29 +0000 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-01-14 13:25:29 +0000 |
commit | de4e527c47a44a972955c3d7be669cce7d20a4ce (patch) | |
tree | 2e7e60edca10e4474a75d7dd297a616ad483d542 | |
parent | 2450a19f4341c7cea84960d7e2ef8fd26b6eeb07 (diff) | |
parent | 42ab766223b519da2b68229698b85e5d8a09d7ce (diff) | |
download | rabbitmq-server-de4e527c47a44a972955c3d7be669cce7d20a4ce.tar.gz |
merge bug23679 into default (unnecessary fsyncs when requeuing messages with confirms)
-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, |