summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2011-10-18 15:54:26 +0100
committerEmile Joubert <emile@rabbitmq.com>2011-10-18 15:54:26 +0100
commit4514136db0f3d60cb140abfa00ae7c415e3cf1e8 (patch)
treeed986eedd54267ba082db966f538fb57900b0a5e
parent77471a51e82f34554f4fe6b67f6ec609cda4a7be (diff)
parentd1d1ec639ab14cf0473cb499dff6894c3bbe14a8 (diff)
downloadrabbitmq-server-4514136db0f3d60cb140abfa00ae7c415e3cf1e8.tar.gz
Merged bug24460 into default
-rw-r--r--src/rabbit_channel.erl5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 883e570a..9b2fe28c 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -1080,9 +1080,8 @@ 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(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(