summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoïc Hoguin <lhoguin@vmware.com>2023-01-31 15:37:47 +0100
committerLoïc Hoguin <lhoguin@vmware.com>2023-01-31 15:37:47 +0100
commite330f683b63e9fe61b801a1f2d3e61d959cd6d31 (patch)
treee4a94d68ea4250a958a1912de49c2a286e9bd2b7
parentb02c268632e7729f7ce809adb264e05a8d041084 (diff)
downloadrabbitmq-server-git-e330f683b63e9fe61b801a1f2d3e61d959cd6d31.tar.gz
CQ: Fix performance regression after moving to v2 sets
sets:from_list also must be told to use v2 otherwise it will use v1.
-rw-r--r--deps/rabbit/src/rabbit_msg_store.erl2
-rw-r--r--deps/rabbit/test/backing_queue_SUITE.erl4
2 files changed, 3 insertions, 3 deletions
diff --git a/deps/rabbit/src/rabbit_msg_store.erl b/deps/rabbit/src/rabbit_msg_store.erl
index 9c85120f1b..06e993c8d3 100644
--- a/deps/rabbit/src/rabbit_msg_store.erl
+++ b/deps/rabbit/src/rabbit_msg_store.erl
@@ -936,7 +936,7 @@ handle_cast({remove, CRef, MsgIds}, State) ->
ignore -> {Removed, State2}
end
end, {[], State}, MsgIds),
- noreply(maybe_compact(client_confirm(CRef, sets:from_list(RemovedMsgIds),
+ noreply(maybe_compact(client_confirm(CRef, sets:from_list(RemovedMsgIds, [{version, 2}]),
ignored, State1)));
handle_cast({combine_files, Source, Destination, Reclaimed},
diff --git a/deps/rabbit/test/backing_queue_SUITE.erl b/deps/rabbit/test/backing_queue_SUITE.erl
index d0eb1216bb..7d3c83a6bf 100644
--- a/deps/rabbit/test/backing_queue_SUITE.erl
+++ b/deps/rabbit/test/backing_queue_SUITE.erl
@@ -1608,7 +1608,7 @@ publish_and_confirm(Q, Payload, Count) ->
{ok, Acc, _Actions} = rabbit_queue_type:deliver([Q], Delivery, Acc0),
Acc
end, QTState0, Seqs),
- wait_for_confirms(sets:from_list(Seqs)),
+ wait_for_confirms(sets:from_list(Seqs, [{version, 2}])),
QTState.
wait_for_confirms(Unconfirmed) ->
@@ -1619,7 +1619,7 @@ wait_for_confirms(Unconfirmed) ->
{'$gen_cast', {queue_event, _QName, {confirm, Confirmed, _}}} ->
wait_for_confirms(
sets:subtract(
- Unconfirmed, sets:from_list(Confirmed)))
+ Unconfirmed, sets:from_list(Confirmed, [{version, 2}])))
after ?TIMEOUT ->
flush(),
exit(timeout_waiting_for_confirm)