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 | 9c4dd977b1c779b1e1b5138a62eeb48965af65fe (patch) | |
| tree | 2e7e60edca10e4474a75d7dd297a616ad483d542 /src | |
| parent | 2d0409667e82d86c55a18acfe2fb3fb9de56260e (diff) | |
| parent | c2bd1bb51b4e4da686fdd8a01fac68b613c6e860 (diff) | |
| download | rabbitmq-server-git-9c4dd977b1c779b1e1b5138a62eeb48965af65fe.tar.gz | |
merge bug23679 into default (unnecessary fsyncs when requeuing messages with confirms)
Diffstat (limited to 'src')
| -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 665cac96d9..35e37df61e 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, |
