Skip to content

Commit be22e98

Browse files
committed
Bugfixes
1 parent 2c97741 commit be22e98

9 files changed

+47
-47
lines changed

deps/rabbit/src/rabbit_core_ff.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ migrate_tables_to_khepri(FeatureName, TablesAndOwners) ->
346346
"Feature flag `~s`: migration from Mnesia to Khepri "
347347
"finished",
348348
[FeatureName]),
349-
rabbit_khepri:set_ready(),
349+
_ = rabbit_khepri:set_ready(),
350350
ok;
351351
{'DOWN', MonitorRef, process, Pid, Info} ->
352352
?LOG_ERROR(

deps/rabbit/src/rabbit_db.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ recover_mnesia_tables() ->
7979
%% the feature flag. See rabbit_core_ff:final_sync_from_mnesia_to_khepri/2
8080
%% Unlock them here as mnesia is still fully functional.
8181
Tables = [Table || {Table, _} <- rabbit_table:definitions()],
82-
[mnesia:change_table_access_mode(Table, read_write) || Table <- Tables],
82+
_ = [mnesia:change_table_access_mode(Table, read_write) || Table <- Tables],
8383
ok.
8484

8585
init_in_khepri() ->

deps/rabbit/src/rabbit_db_rtparams.erl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ get_or_set_in_khepri(Key, Default) ->
203203
{ok, undefined} ->
204204
Record = #runtime_parameters{key = Key,
205205
value = Default},
206-
khepri_tx:put(Path, Record),
206+
ok = khepri_tx:put(Path, Record),
207207
Record;
208208
{ok, R} ->
209209
R
@@ -282,7 +282,9 @@ get_all_in_khepri_tx(VHost, Component) ->
282282
%% Inside of a transaction, using `rabbit_vhost:exists` will cause
283283
%% a deadlock and timeout on the transaction, as it uses `rabbit_khepri:exists`.
284284
%% The `with` function uses the `khepri_tx` API instead
285-
_ -> rabbit_db_vhost:with_fun_in_khepri_tx(VHost, fun() -> ok end)
285+
_ ->
286+
Fun = rabbit_db_vhost:with_fun_in_khepri_tx(VHost, fun() -> ok end),
287+
Fun()
286288
end,
287289
case khepri_tx:get_many(Path) of
288290
{ok, Map} ->

deps/rabbit/src/rabbit_mirror_queue_master.erl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,8 @@ migrate_queue_record_in_khepri(QName, GM, Self) ->
155155
%% start HA queues
156156
end)
157157
end,
158-
ok = rabbit_khepri:transaction(Fun, rw).
158+
_ = rabbit_khepri:transaction(Fun, rw),
159+
ok.
159160

160161
-spec stop_mirroring(master_state()) -> {atom(), any()}.
161162

deps/rabbit/src/rabbit_mirror_queue_misc.erl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ remove_from_queue_in_mnesia(QueueName, Self, DeadGMPids) ->
118118
Q1 = amqqueue:set_pid(Q0, QPid1),
119119
Q2 = amqqueue:set_slave_pids(Q1, SPids1),
120120
Q3 = amqqueue:set_gm_pids(Q2, AliveGM),
121-
store_updated_slaves_in_mnesia(Q3),
121+
_ = store_updated_slaves_in_mnesia(Q3),
122122
%% If we add and remove nodes at the
123123
%% same time we might tell the old
124124
%% master we need to sync and then
@@ -131,7 +131,7 @@ remove_from_queue_in_mnesia(QueueName, Self, DeadGMPids) ->
131131
%% [1].
132132
Q1 = amqqueue:set_slave_pids(Q0, Alive),
133133
Q2 = amqqueue:set_gm_pids(Q1, AliveGM),
134-
store_updated_slaves_in_mnesia(Q2),
134+
_ = store_updated_slaves_in_mnesia(Q2),
135135
{ok, QPid1, DeadPids, []}
136136
end
137137
end
@@ -209,7 +209,7 @@ remove_from_queue_in_khepri(QueueName, Self, DeadGMPids) ->
209209
Q1 = amqqueue:set_pid(Q0, QPid1),
210210
Q2 = amqqueue:set_slave_pids(Q1, SPids1),
211211
Q3 = amqqueue:set_gm_pids(Q2, AliveGM),
212-
store_updated_slaves_in_khepri(Q3, Decorators),
212+
_ = store_updated_slaves_in_khepri(Q3, Decorators),
213213
%% If we add and remove nodes at the
214214
%% same time we might tell the old
215215
%% master we need to sync and then
@@ -223,7 +223,7 @@ remove_from_queue_in_khepri(QueueName, Self, DeadGMPids) ->
223223
%% [1].
224224
Q1 = amqqueue:set_slave_pids(Q0, Alive),
225225
Q2 = amqqueue:set_gm_pids(Q1, AliveGM),
226-
store_updated_slaves_in_khepri(Q2, Decorators),
226+
_ = store_updated_slaves_in_khepri(Q2, Decorators),
227227
{ok, QPid1, DeadPids, []}
228228
end
229229
end
@@ -249,7 +249,7 @@ on_vhost_up(VHost) ->
249249
on_vhost_up_in_khepri(VHost)
250250
end
251251
}),
252-
[add_mirror(QName, node(), async) || QName <- QNames],
252+
_ = [add_mirror(QName, node(), async) || QName <- QNames],
253253
ok.
254254

255255
on_vhost_up_in_mnesia(VHost) ->
@@ -453,7 +453,7 @@ store_updated_slaves_in_khepri(Q0, Decorators) ->
453453
%% HA queues are not supported in Khepri. This update is just enough to make
454454
%% some of the current tests work, which might start some HA queue.
455455
%% It will be removed before Khepri is released.
456-
rabbit_db_queue:update_in_khepri_tx(amqqueue:get_name(Q0), fun(_) -> Q4 end),
456+
_ = rabbit_db_queue:update_in_khepri_tx(amqqueue:get_name(Q0), fun(_) -> Q4 end),
457457
%% Wake it up so that we emit a stats event
458458
rabbit_amqqueue:notify_policy_changed(Q3),
459459
Q3.

deps/rabbit/src/rabbit_mirror_queue_slave.erl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,9 @@ init_it_in_khepri(Self, GM, Node, QName) ->
221221
PSPids = amqqueue:get_slave_pids_pending_shutdown(Q),
222222
%% TODO we can't kill processes!
223223
case [Pid || Pid <- [QPid | SPids], node(Pid) =:= Node] of
224-
[] -> stop_pending_slaves(QName, PSPids),
224+
[] -> _ = stop_pending_slaves(QName, PSPids),
225225
%% TODO make add_slave_in_khepri and add_slave_in_mnesia
226-
add_slave(Q, Self, GM),
226+
_ = add_slave(Q, Self, GM),
227227
{new, QPid, GMPids};
228228
%% TODO is_process_alive should never go on a khepri transaction!
229229
[QPid] -> case rabbit_mnesia:is_process_alive(QPid) of
@@ -236,7 +236,7 @@ init_it_in_khepri(Self, GM, Node, QName) ->
236236
SPids1 = SPids -- [SPid],
237237
Q1 = amqqueue:set_slave_pids(Q, SPids1),
238238
Q2 = amqqueue:set_gm_pids(Q1, GMPids1),
239-
add_slave(Q2, Self, GM),
239+
_ = add_slave(Q2, Self, GM),
240240
{new, QPid, GMPids1}
241241
end
242242
end;

deps/rabbit/src/rabbit_vhost_limit.erl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,5 @@ get_limit(VirtualHost, Limit) ->
199199
N when N < 0 -> undefined;
200200
N when N >= 0 -> {ok, N}
201201
end
202-
end;
203-
{error, {timeout, _}} -> throw({error, {cannot_get_limit, VirtualHost, timeout}})
202+
end
204203
end.

deps/rabbit/src/rabbit_vhost_process.erl

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,6 @@ handle_info(check_vhost, VHost) ->
7373
fun() ->
7474
rabbit_vhost_sup_sup:stop_and_delete_vhost(VHost)
7575
end),
76-
{noreply, VHost};
77-
_ ->
78-
%% An error just happened, the node could be down.
79-
%% There is nothing we can do, just wait until the next check
8076
{noreply, VHost}
8177
end;
8278
handle_info(_, VHost) ->

deps/rabbit/test/rabbit_db_binding_SUITE.erl

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ create(Config) ->
8585
create1(_Config) ->
8686
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
8787
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
88-
Exchange1 = #exchange{name = XName1, durable = true},
89-
Exchange2 = #exchange{name = XName2, durable = true},
88+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
89+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
9090
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
9191
?assertMatch({error, {resources_missing, [_, _]}},
9292
rabbit_db_binding:create(Binding, fun(_, _) -> ok end)),
@@ -105,12 +105,14 @@ exists(Config) ->
105105
exists1(_Config) ->
106106
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
107107
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
108-
Exchange1 = #exchange{name = XName1, durable = true},
109-
Exchange2 = #exchange{name = XName2, durable = true},
108+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
109+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
110110
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
111-
?assertEqual(false, rabbit_db_exchange:exists(Binding)),
111+
?assertMatch({error, {resources_missing, [{not_found, _}, {not_found, _}]}},
112+
rabbit_db_binding:exists(Binding)),
112113
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange1)),
113114
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange2)),
115+
?assertEqual(false, rabbit_db_binding:exists(Binding)),
114116
?assertMatch(ok, rabbit_db_binding:create(Binding, fun(_, _) -> ok end)),
115117
?assertEqual(true, rabbit_db_binding:exists(Binding)),
116118
passed.
@@ -121,8 +123,8 @@ delete(Config) ->
121123
delete1(_Config) ->
122124
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
123125
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
124-
Exchange1 = #exchange{name = XName1, durable = true, auto_delete = false},
125-
Exchange2 = #exchange{name = XName2, durable = true, auto_delete = false},
126+
Exchange1 = #exchange{name = XName1, durable = true, auto_delete = false, decorators = {[], []}},
127+
Exchange2 = #exchange{name = XName2, durable = true, auto_delete = false, decorators = {[], []}},
126128
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
127129
?assertEqual(ok, rabbit_db_binding:delete(Binding, fun(_, _) -> ok end)),
128130
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange1)),
@@ -142,8 +144,8 @@ auto_delete(Config) ->
142144
auto_delete1(_Config) ->
143145
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
144146
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
145-
Exchange1 = #exchange{name = XName1, durable = true, auto_delete = true},
146-
Exchange2 = #exchange{name = XName2, durable = true, auto_delete = false},
147+
Exchange1 = #exchange{name = XName1, durable = true, auto_delete = true, decorators = {[], []}},
148+
Exchange2 = #exchange{name = XName2, durable = true, auto_delete = false, decorators = {[], []}},
147149
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
148150
?assertEqual(ok, rabbit_db_binding:delete(Binding, fun(_, _) -> ok end)),
149151
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange1)),
@@ -163,8 +165,8 @@ get_all(Config) ->
163165
get_all1(_Config) ->
164166
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
165167
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
166-
Exchange1 = #exchange{name = XName1, durable = true},
167-
Exchange2 = #exchange{name = XName2, durable = true},
168+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
169+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
168170
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
169171
?assertEqual([], rabbit_db_binding:get_all()),
170172
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange1)),
@@ -179,8 +181,8 @@ get_all_by_vhost(Config) ->
179181
get_all_by_vhost1(_Config) ->
180182
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
181183
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
182-
Exchange1 = #exchange{name = XName1, durable = true},
183-
Exchange2 = #exchange{name = XName2, durable = true},
184+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
185+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
184186
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
185187
?assertEqual([], rabbit_db_binding:get_all(?VHOST)),
186188
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange1)),
@@ -197,8 +199,8 @@ get_all_for_source(Config) ->
197199
get_all_for_source1(_Config) ->
198200
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
199201
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
200-
Exchange1 = #exchange{name = XName1, durable = true},
201-
Exchange2 = #exchange{name = XName2, durable = true},
202+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
203+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
202204
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
203205
?assertEqual([], rabbit_db_binding:get_all_for_source(XName1)),
204206
?assertEqual([], rabbit_db_binding:get_all_for_source(XName2)),
@@ -216,8 +218,8 @@ get_all_for_destination(Config) ->
216218
get_all_for_destination1(_Config) ->
217219
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
218220
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
219-
Exchange1 = #exchange{name = XName1, durable = true},
220-
Exchange2 = #exchange{name = XName2, durable = true},
221+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
222+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
221223
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
222224
?assertEqual([], rabbit_db_binding:get_all_for_destination(XName1)),
223225
?assertEqual([], rabbit_db_binding:get_all_for_destination(XName2)),
@@ -235,8 +237,8 @@ get_all_for_source_and_destination(Config) ->
235237
get_all_for_source_and_destination1(_Config) ->
236238
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
237239
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
238-
Exchange1 = #exchange{name = XName1, durable = true},
239-
Exchange2 = #exchange{name = XName2, durable = true},
240+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
241+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
240242
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
241243
?assertEqual([], rabbit_db_binding:get_all(XName1, XName2, false)),
242244
?assertEqual([], rabbit_db_binding:get_all(XName2, XName1, false)),
@@ -256,8 +258,8 @@ get_all_for_source_and_destination_reverse(Config) ->
256258
get_all_for_source_and_destination_reverse1(_Config) ->
257259
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
258260
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
259-
Exchange1 = #exchange{name = XName1, durable = true},
260-
Exchange2 = #exchange{name = XName2, durable = true},
261+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
262+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
261263
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
262264
?assertEqual([], rabbit_db_binding:get_all(XName1, XName2, true)),
263265
?assertEqual([], rabbit_db_binding:get_all(XName2, XName1, true)),
@@ -276,8 +278,8 @@ fold(Config) ->
276278
fold1(_Config) ->
277279
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
278280
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
279-
Exchange1 = #exchange{name = XName1, durable = true},
280-
Exchange2 = #exchange{name = XName2, durable = true},
281+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
282+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
281283
Binding = #binding{source = XName1, key = <<"">>, destination = XName2, args = #{}},
282284
?assertEqual([], rabbit_db_binding:fold(fun(B, Acc) -> [B | Acc] end, [])),
283285
?assertMatch({new, #exchange{}}, rabbit_db_exchange:create_or_get(Exchange1)),
@@ -292,8 +294,8 @@ match(Config) ->
292294
match1(_Config) ->
293295
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
294296
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
295-
Exchange1 = #exchange{name = XName1, durable = true},
296-
Exchange2 = #exchange{name = XName2, durable = true},
297+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
298+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
297299
Binding = #binding{source = XName1, key = <<"">>, destination = XName2,
298300
args = #{foo => bar}},
299301
?assertEqual([], rabbit_db_binding:match(XName1, fun(#binding{args = Args}) ->
@@ -318,8 +320,8 @@ match_routing_key(Config) ->
318320
match_routing_key1(_Config) ->
319321
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
320322
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
321-
Exchange1 = #exchange{name = XName1, durable = true},
322-
Exchange2 = #exchange{name = XName2, durable = true},
323+
Exchange1 = #exchange{name = XName1, durable = true, decorators = {[], []}},
324+
Exchange2 = #exchange{name = XName2, durable = true, decorators = {[], []}},
323325
Binding = #binding{source = XName1, key = <<"*.*">>, destination = XName2,
324326
args = #{foo => bar}},
325327
?assertEqual([], rabbit_db_binding:match_routing_key(XName1, [<<"a.b.c">>], false)),

0 commit comments

Comments
 (0)