diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-06-23 15:11:50 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-06-23 15:11:50 +0100 |
| commit | de6a18c21c898d3b50289af08a16d6a4bd807af2 (patch) | |
| tree | fd896d1d3683759f0987dce5b9578eb35761952e /src | |
| parent | 5e9d51cbf3b61c1b9bfe6bd176344dcc4b0e9ce7 (diff) | |
| parent | cca6c8128e4ddf2623c3bf837e07e51cd6a34d69 (diff) | |
| download | rabbitmq-server-git-de6a18c21c898d3b50289af08a16d6a4bd807af2.tar.gz | |
merging in bug19662 with reduced reverses
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 8 | ||||
| -rw-r--r-- | src/rabbit_mixed_queue.erl | 10 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index f15a58cd07..6b65a5a5d4 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -275,7 +275,7 @@ run_message_queue(State = #q { mixed_state = MS }) -> {{_IsEmpty1, AutoAcks}, State1} = deliver_queue(Funs, {IsEmpty, []}, State), {ok, MS1} = - rabbit_mixed_queue:ack(lists:reverse(AutoAcks), State1 #q.mixed_state), + rabbit_mixed_queue:ack(AutoAcks, State1 #q.mixed_state), State1 #q { mixed_state = MS1 }. attempt_immediate_delivery(none, _ChPid, Msg, State) -> @@ -320,7 +320,7 @@ deliver_or_requeue_n(MsgsWithAcks, State) -> {{_RemainingLengthMinusOne, AutoAcks, OutstandingMsgs}, NewState} = deliver_queue(Funs, {length(MsgsWithAcks) - 1, [], MsgsWithAcks}, State), - {ok, MS} = rabbit_mixed_queue:ack(lists:reverse(AutoAcks), + {ok, MS} = rabbit_mixed_queue:ack(AutoAcks, NewState #q.mixed_state), case OutstandingMsgs of [] -> run_message_queue(NewState #q { mixed_state = MS }); @@ -479,7 +479,7 @@ commit_transaction(Txn, State) -> pending_acks = PendingAcks } = lookup_tx(Txn), PendingMessagesOrdered = lists:reverse(PendingMessages), - PendingAcksOrdered = lists:append(lists:reverse(PendingAcks)), + PendingAcksOrdered = lists:append(PendingAcks), Acks = case lookup_ch(ChPid) of not_found -> []; @@ -496,7 +496,7 @@ commit_transaction(Txn, State) -> rollback_transaction(Txn, State) -> #tx { pending_messages = PendingMessages } = lookup_tx(Txn), - {ok, MS} = rabbit_mixed_queue:tx_cancel(lists:reverse(PendingMessages), + {ok, MS} = rabbit_mixed_queue:tx_cancel(PendingMessages, State #q.mixed_state), erase_tx(Txn), State #q { mixed_state = MS }. diff --git a/src/rabbit_mixed_queue.erl b/src/rabbit_mixed_queue.erl index 243600034b..fed95da3eb 100644 --- a/src/rabbit_mixed_queue.erl +++ b/src/rabbit_mixed_queue.erl @@ -181,7 +181,7 @@ to_mixed_mode(TxnMessages, State = _ -> [Msg #basic_message.guid | Acc] end end, [], TxnMessages), - ok = rabbit_disk_queue:tx_cancel(lists:reverse(Cancel)), + ok = rabbit_disk_queue:tx_cancel(Cancel), {ok, State #mqstate { mode = mixed, msg_buf = MsgBuf1 }}. purge_non_persistent_messages(State = #mqstate { mode = disk, queue = Q, @@ -197,7 +197,7 @@ purge_non_persistent_messages(State = #mqstate { mode = disk, queue = Q, rabbit_disk_queue:requeue_with_seqs(Q, lists:reverse(Requeue)) end, ok = if Acks == [] -> ok; - true -> rabbit_disk_queue:ack(Q, lists:reverse(Acks)) + true -> rabbit_disk_queue:ack(Q, Acks) end, {ok, State #mqstate { length = Length, memory_size = QSize - ASize }}. @@ -303,7 +303,7 @@ remove_noacks(MsgsWithAcks) -> ({Msg, AckTag}, {AccAckTags, AccSize}) -> {[AckTag | AccAckTags], size_of_message(Msg) + AccSize} end, {[], 0}, MsgsWithAcks), - {lists:reverse(AckTags), ASize}. + {AckTags, ASize}. ack(MsgsWithAcks, State = #mqstate { queue = Q, memory_size = QSize }) -> case remove_noacks(MsgsWithAcks) of @@ -371,7 +371,7 @@ tx_cancel(Publishes, State = #mqstate { mode = disk, memory_size = QSize }) -> fun (Msg = #basic_message { guid = MsgId }, {MsgIdsAcc, CSizeAcc}) -> {[MsgId | MsgIdsAcc], CSizeAcc + size_of_message(Msg)} end, {[], 0}, Publishes), - ok = rabbit_disk_queue:tx_cancel(lists:reverse(MsgIds)), + ok = rabbit_disk_queue:tx_cancel(MsgIds), {ok, State #mqstate { memory_size = QSize - CSize }}; tx_cancel(Publishes, State = #mqstate { mode = mixed, is_durable = IsDurable, memory_size = QSize }) -> @@ -387,7 +387,7 @@ tx_cancel(Publishes, State = #mqstate { mode = mixed, is_durable = IsDurable, end, {[], 0}, Publishes), ok = if IsDurable -> - rabbit_disk_queue:tx_cancel(lists:reverse(PersistentPubs)); + rabbit_disk_queue:tx_cancel(PersistentPubs); true -> ok end, {ok, State #mqstate { memory_size = QSize - CSize }}. |
