summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-10-17 10:25:58 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-10-17 10:25:58 +0100
commit4fa428d750bec9d0c0a303f0a210e633a5bf96ec (patch)
tree8136731551c8e89d5777b760e05a9f977b4ef6f8
parentfa3cfa9742c2be448283cbd36da27cf7357d17ec (diff)
downloadrabbitmq-server-4fa428d750bec9d0c0a303f0a210e633a5bf96ec.tar.gz
properly sort the queue of acks
-rw-r--r--src/rabbit_channel.erl6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 883e570a..f19d3c0b 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -1080,9 +1080,9 @@ handle_method(#'tx.rollback'{}, _, #ch{tx_status = none}) ->
handle_method(#'tx.rollback'{}, _, State = #ch{unacked_message_q = UAMQ,
uncommitted_acks = TAL}) ->
- TAQ = queue:from_list(lists:reverse(TAL)),
- {reply, #'tx.rollback_ok'{},
- new_tx(State#ch{unacked_message_q = queue:join(TAQ, UAMQ)})};
+ UAMQ1 = queue:from_list(lists:usort(lists:usort(TAL) ++
+ queue:to_list(UAMQ))),
+ {reply, #'tx.rollback_ok'{}, new_tx(State#ch{unacked_message_q = UAMQ1})};
handle_method(#'confirm.select'{}, _, #ch{tx_status = in_progress}) ->
rabbit_misc:protocol_error(