Skip to content

Commit 3a30917

Browse files
Merge pull request #13603 from rabbitmq/remove-redundant-queue-type-function
Remove redundant rabbit_queue_type APIs
2 parents 0a7c86b + 0410b7e commit 3a30917

File tree

3 files changed

+18
-34
lines changed

3 files changed

+18
-34
lines changed

deps/rabbit/src/rabbit_amqp_management.erl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,13 @@ encode_queue(Q, NumMsgs, NumConsumers) ->
437437
{{utf8, <<"durable">>}, {boolean, Durable}},
438438
{{utf8, <<"auto_delete">>}, {boolean, AutoDelete}},
439439
{{utf8, <<"exclusive">>}, {boolean, Exclusive}},
440-
{{utf8, <<"type">>}, {utf8, rabbit_queue_type:to_binary(QType)}},
440+
{{utf8, <<"type">>},
441+
{utf8, case rabbit_queue_type:short_alias_of(QType) of
442+
undefined ->
443+
atom_to_binary(QType);
444+
ShortName ->
445+
ShortName
446+
end}},
441447
{{utf8, <<"arguments">>}, QArgs}
442448
],
443449
KVList1 = if is_list(Replicas) ->

deps/rabbit/src/rabbit_queue_type.erl

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
close/1,
2121
discover/1,
2222
short_alias_of/1,
23-
feature_flag_name/1,
24-
to_binary/1,
2523
default/0,
2624
default_alias/0,
2725
fallback/0,
@@ -300,7 +298,7 @@ discover(Other) when is_binary(Other) ->
300298
{ok, Mod} = rabbit_registry:lookup_module(queue, T),
301299
Mod.
302300

303-
-spec short_alias_of(queue_type()) -> binary().
301+
-spec short_alias_of(queue_type()) -> undefined | binary().
304302
%% The opposite of discover/1: returns a short alias given a module name
305303
short_alias_of(<<"rabbit_quorum_queue">>) ->
306304
<<"quorum">>;
@@ -335,15 +333,6 @@ short_alias_of(<<"stream">>) ->
335333
short_alias_of(_Other) ->
336334
undefined.
337335

338-
feature_flag_name(<<"quorum">>) ->
339-
quorum_queue;
340-
feature_flag_name(<<"classic">>) ->
341-
undefined;
342-
feature_flag_name(<<"stream">>) ->
343-
stream_queue;
344-
feature_flag_name(_) ->
345-
undefined.
346-
347336
%% If the client does not specify the type, the virtual host does not have any
348337
%% metadata default, and rabbit.default_queue_type is not set in the application env,
349338
%% use this type as the last resort.
@@ -362,19 +351,9 @@ default() ->
362351
default_alias() ->
363352
short_alias_of(default()).
364353

365-
-spec to_binary(module()) -> binary().
366-
to_binary(rabbit_classic_queue) ->
367-
<<"classic">>;
368-
to_binary(rabbit_quorum_queue) ->
369-
<<"quorum">>;
370-
to_binary(rabbit_stream_queue) ->
371-
<<"stream">>;
372-
to_binary(Other) ->
373-
atom_to_binary(Other).
374-
375354
%% is a specific queue type implementation enabled
376355
-spec is_enabled(module()) -> boolean().
377-
is_enabled(Type) ->
356+
is_enabled(Type) when is_atom(Type) ->
378357
Type:is_enabled().
379358

380359
-spec is_compatible(module(), boolean(), boolean(), boolean()) ->

deps/rabbit/src/rabbit_vhost.erl

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -166,19 +166,18 @@ do_add(Name, Metadata, ActingUser) ->
166166
case Metadata of
167167
#{default_queue_type := DQT} ->
168168
%% check that the queue type is known
169-
rabbit_log:debug("Default queue type of virtual host '~ts' is ~tp", [Name, DQT]),
169+
rabbit_log:debug("Default queue type of virtual host '~ts' is ~tp",
170+
[Name, DQT]),
170171
try rabbit_queue_type:discover(DQT) of
171-
_ ->
172-
case rabbit_queue_type:feature_flag_name(DQT) of
173-
undefined -> ok;
174-
Flag when is_atom(Flag) ->
175-
case rabbit_feature_flags:is_enabled(Flag) of
176-
true -> ok;
177-
false -> throw({error, queue_type_feature_flag_is_not_enabled})
178-
end
172+
QueueType when is_atom(QueueType) ->
173+
case rabbit_queue_type:is_enabled(QueueType) of
174+
true ->
175+
ok;
176+
false ->
177+
throw({error, queue_type_feature_flag_is_not_enabled})
179178
end
180179
catch _:_ ->
181-
throw({error, invalid_queue_type, DQT})
180+
throw({error, invalid_queue_type, DQT})
182181
end;
183182
_ ->
184183
ok

0 commit comments

Comments
 (0)