Skip to content

Commit c8b8fb8

Browse files
Merge pull request #12037 from rabbitmq/md/db-queue-set-many
2 parents 7121b80 + 49c645a commit c8b8fb8

File tree

2 files changed

+2
-66
lines changed

2 files changed

+2
-66
lines changed

deps/rabbit/src/rabbit_db_queue.erl

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
count/1,
2626
create_or_get/1,
2727
set/1,
28-
set_many/1,
2928
delete/2,
3029
update/2,
3130
update_decorators/2,
@@ -962,52 +961,6 @@ set_in_khepri(Q) ->
962961
Path = khepri_queue_path(amqqueue:get_name(Q)),
963962
rabbit_khepri:put(Path, Q).
964963

965-
%% -------------------------------------------------------------------
966-
%% set_many().
967-
%% -------------------------------------------------------------------
968-
969-
-spec set_many([Queue]) -> ok when
970-
Queue :: amqqueue:amqqueue().
971-
%% @doc Writes a list of durable queue records.
972-
%%
973-
%% It is responsibility of the calling function to ensure all records are
974-
%% durable.
975-
%%
976-
%% @private
977-
978-
set_many(Qs) ->
979-
rabbit_khepri:handle_fallback(
980-
#{mnesia => fun() -> set_many_in_mnesia(Qs) end,
981-
khepri => fun() -> set_many_in_khepri(Qs) end
982-
}).
983-
984-
set_many_in_mnesia(Qs) ->
985-
{atomic, ok} =
986-
%% Just to be nested in forget_node_for_queue
987-
mnesia:transaction(
988-
fun() ->
989-
[begin
990-
true = amqqueue:is_durable(Q),
991-
ok = mnesia:write(?MNESIA_DURABLE_TABLE, Q, write)
992-
end || Q <- Qs],
993-
ok
994-
end),
995-
ok.
996-
997-
set_many_in_khepri(Qs) ->
998-
rabbit_khepri:transaction(
999-
fun() ->
1000-
[begin
1001-
true = amqqueue:is_durable(Q),
1002-
Path = khepri_queue_path(amqqueue:get_name(Q)),
1003-
case khepri_tx:put(Path, Q) of
1004-
ok -> ok;
1005-
Error -> khepri_tx:abort(Error)
1006-
end
1007-
end || Q <- Qs]
1008-
end),
1009-
ok.
1010-
1011964
%% -------------------------------------------------------------------
1012965
%% delete_transient().
1013966
%% -------------------------------------------------------------------

deps/rabbit/test/rabbit_db_queue_SUITE.erl

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ all_tests() ->
4040
count,
4141
count_by_vhost,
4242
set,
43-
set_many,
4443
delete,
4544
update,
45+
update_decorators,
4646
exists,
4747
get_all_durable,
4848
get_all_durable_by_type,
@@ -282,23 +282,6 @@ set1(_Config) ->
282282
?assertEqual({ok, Q}, rabbit_db_queue:get(QName)),
283283
passed.
284284

285-
set_many(Config) ->
286-
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, set_many1, [Config]).
287-
288-
set_many1(_Config) ->
289-
QName1 = rabbit_misc:r(?VHOST, queue, <<"test-queue1">>),
290-
QName2 = rabbit_misc:r(?VHOST, queue, <<"test-queue2">>),
291-
QName3 = rabbit_misc:r(?VHOST, queue, <<"test-queue3">>),
292-
Q1 = new_queue(QName1, rabbit_classic_queue),
293-
Q2 = new_queue(QName2, rabbit_classic_queue),
294-
Q3 = new_queue(QName3, rabbit_classic_queue),
295-
?assertEqual(ok, rabbit_db_queue:set_many([])),
296-
?assertEqual(ok, rabbit_db_queue:set_many([Q1, Q2, Q3])),
297-
?assertEqual({ok, Q1}, rabbit_db_queue:get_durable(QName1)),
298-
?assertEqual({ok, Q2}, rabbit_db_queue:get_durable(QName2)),
299-
?assertEqual({ok, Q3}, rabbit_db_queue:get_durable(QName3)),
300-
passed.
301-
302285
delete(Config) ->
303286
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete1, [Config]).
304287

@@ -341,7 +324,7 @@ update_decorators1(_Config) ->
341324
?assertEqual({ok, Q}, rabbit_db_queue:get(QName)),
342325
?assertEqual(undefined, amqqueue:get_decorators(Q)),
343326
%% Not really testing we set a decorator, but at least the field is being updated
344-
?assertEqual(ok, rabbit_db_queue:update_decorators(QName)),
327+
?assertEqual(ok, rabbit_db_queue:update_decorators(QName, [])),
345328
{ok, Q1} = rabbit_db_queue:get(QName),
346329
?assertEqual([], amqqueue:get_decorators(Q1)),
347330
passed.

0 commit comments

Comments
 (0)