diff options
| -rw-r--r-- | src/rabbit_channel.erl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 883e570ad6..9b2fe28ce8 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( |
