Skip to content

Commit 054381a

Browse files
Merge pull request #7269 from rabbitmq/ff-stream_queue
Remove compatibility for feature flag stream_queue
2 parents aec92b1 + 415b341 commit 054381a

26 files changed

+56
-227
lines changed

deps/rabbit/docs/rabbitmqctl.8

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2086,7 +2086,7 @@ Enables a feature flag on the target node.
20862086
.Pp
20872087
Example:
20882088
.Sp
2089-
.Dl rabbitmqctl enable_feature_flag stream_queue
2089+
.Dl rabbitmqctl enable_feature_flag restart_streams
20902090
.Pp
20912091
You can also enable all feature flags by specifying "all":
20922092
.Sp

deps/rabbit/src/rabbit_amqqueue.erl

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -217,24 +217,16 @@ declare(QueueName = #resource{virtual_host = VHost}, Durable, AutoDelete, Args,
217217
Owner, ActingUser, Node) ->
218218
ok = check_declare_arguments(QueueName, Args),
219219
Type = get_queue_type(Args),
220-
case rabbit_queue_type:is_enabled(Type) of
221-
true ->
222-
Q = amqqueue:new(QueueName,
223-
none,
224-
Durable,
225-
AutoDelete,
226-
Owner,
227-
Args,
228-
VHost,
229-
#{user => ActingUser},
230-
Type),
231-
rabbit_queue_type:declare(Q, Node);
232-
false ->
233-
{protocol_error, internal_error,
234-
"Cannot declare a queue '~ts' of type '~ts' on node '~ts': "
235-
"the corresponding feature flag is disabled",
236-
[rabbit_misc:rs(QueueName), Type, Node]}
237-
end.
220+
Q = amqqueue:new(QueueName,
221+
none,
222+
Durable,
223+
AutoDelete,
224+
Owner,
225+
Args,
226+
VHost,
227+
#{user => ActingUser},
228+
Type),
229+
rabbit_queue_type:declare(Q, Node).
238230

239231
get_queue_type(Args) ->
240232
case rabbit_misc:table_lookup(Args, <<"x-queue-type">>) of

deps/rabbit/src/rabbit_classic_queue.erl

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
-export_type([state/0]).
2424

2525
-export([
26-
is_enabled/0,
2726
is_compatible/3,
2827
declare/2,
2928
delete/4,
@@ -59,8 +58,6 @@
5958
send_drained/3,
6059
send_credit_reply/3]).
6160

62-
is_enabled() -> true.
63-
6461
-spec is_compatible(boolean(), boolean(), boolean()) -> boolean().
6562
is_compatible(_, _, _) ->
6663
true.

deps/rabbit/src/rabbit_core_ff.erl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
{stream_queue,
2626
#{desc => "Support queues of type `stream`",
2727
doc_url => "https://www.rabbitmq.com/stream.html",
28-
%%TODO remove compatibility code
2928
stability => required,
3029
depends_on => [quorum_queue]
3130
}}).

deps/rabbit/src/rabbit_queue_type.erl

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
discover/1,
1616
feature_flag_name/1,
1717
default/0,
18-
is_enabled/1,
1918
is_compatible/4,
2019
declare/2,
2120
delete/4,
@@ -116,8 +115,6 @@
116115
actions/0,
117116
settle_op/0]).
118117

119-
-callback is_enabled() -> boolean().
120-
121118
-callback is_compatible(Durable :: boolean(),
122119
Exclusive :: boolean(),
123120
AutoDelete :: boolean()) ->
@@ -237,17 +234,12 @@ feature_flag_name(_) ->
237234
default() ->
238235
rabbit_classic_queue.
239236

240-
%% is a specific queue type implementation enabled
241-
-spec is_enabled(module()) -> boolean().
242-
is_enabled(Type) ->
243-
Type:is_enabled().
244-
245237
-spec is_compatible(module(), boolean(), boolean(), boolean()) ->
246238
boolean().
247239
is_compatible(Type, Durable, Exclusive, AutoDelete) ->
248240
Type:is_compatible(Durable, Exclusive, AutoDelete).
249241

250-
-spec declare(amqqueue:amqqueue(), node()) ->
242+
-spec declare(amqqueue:amqqueue(), node() | {'ignore_location', node()}) ->
251243
{'new' | 'existing' | 'owner_died', amqqueue:amqqueue()} |
252244
{'absent', amqqueue:amqqueue(), rabbit_amqqueue:absent_reason()} |
253245
{protocol_error, Type :: atom(), Reason :: string(), Args :: term()} |

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@
6161
notify_decorators/3,
6262
spawn_notify_decorators/3]).
6363

64-
-export([is_enabled/0,
65-
is_compatible/3,
64+
-export([is_compatible/3,
6665
declare/2,
6766
is_stateful/0]).
6867

@@ -113,10 +112,6 @@
113112

114113
%%----------- rabbit_queue_type ---------------------------------------------
115114

116-
-spec is_enabled() -> boolean().
117-
is_enabled() ->
118-
true.
119-
120115
-spec is_compatible(boolean(), boolean(), boolean()) -> boolean().
121116
is_compatible(_Durable = true,
122117
_Exclusive = false,

deps/rabbit/src/rabbit_stream_queue.erl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99

1010
-behaviour(rabbit_queue_type).
1111

12-
-export([is_enabled/0,
13-
is_compatible/3,
12+
-export([is_compatible/3,
1413
declare/2,
1514
delete/4,
1615
purge/1,
@@ -90,10 +89,6 @@
9089

9190
-type client() :: #stream_client{}.
9291

93-
-spec is_enabled() -> boolean().
94-
is_enabled() ->
95-
rabbit_feature_flags:is_enabled(stream_queue).
96-
9792
-spec is_compatible(boolean(), boolean(), boolean()) -> boolean().
9893
is_compatible(_Durable = true,
9994
_Exclusive = false,

deps/rabbit/test/dead_lettering_SUITE.erl

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,7 @@ init_per_group(at_least_once, Config) ->
141141
1,
142142
QueueArgs1,
143143
{<<"x-overflow">>, longstr, <<"reject-publish">>}),
144-
Config1 = rabbit_ct_helpers:set_config(Config, {queue_args, QueueArgs}),
145-
case rabbit_ct_broker_helpers:enable_feature_flag(Config1, stream_queue) of
146-
ok ->
147-
Config1;
148-
Skip ->
149-
Skip
150-
end;
144+
rabbit_ct_helpers:set_config(Config, {queue_args, QueueArgs});
151145
_ ->
152146
Config
153147
end;

deps/rabbit/test/queue_parallel_SUITE.erl

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,16 +119,11 @@ init_per_group(mirrored_queue, Config) ->
119119
{queue_durable, true}]),
120120
rabbit_ct_helpers:run_steps(Config1, []);
121121
init_per_group(stream_queue, Config) ->
122-
case rabbit_ct_broker_helpers:enable_feature_flag(Config, stream_queue) of
123-
ok ->
124-
rabbit_ct_helpers:set_config(
125-
Config,
126-
[{queue_args, [{<<"x-queue-type">>, longstr, <<"stream">>}]},
127-
{consumer_args, [{<<"x-stream-offset">>, long, 0}]},
128-
{queue_durable, true}]);
129-
Skip ->
130-
Skip
131-
end;
122+
rabbit_ct_helpers:set_config(
123+
Config,
124+
[{queue_args, [{<<"x-queue-type">>, longstr, <<"stream">>}]},
125+
{consumer_args, [{<<"x-stream-offset">>, long, 0}]},
126+
{queue_durable, true}]);
132127
init_per_group(Group, Config0) ->
133128
case lists:member({group, Group}, all()) of
134129
true ->

deps/rabbit/test/rabbit_fifo_dlx_integration_SUITE.erl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,7 @@ init_per_group(Group, Config, NodesCount) ->
9898
rabbit_ct_broker_helpers:setup_steps()),
9999
ok = rpc(Config2, 0, application, set_env,
100100
[rabbit, channel_tick_interval, 100]),
101-
case rabbit_ct_broker_helpers:enable_feature_flag(Config2, stream_queue) of
102-
ok -> Config2;
103-
Skip -> Skip
104-
end.
101+
Config2.
105102

106103
end_per_group(_, Config) ->
107104
rabbit_ct_helpers:run_steps(Config,

0 commit comments

Comments
 (0)