Skip to content

Commit c7bb836

Browse files
Deekshamergify[bot]
authored andcommitted
Add config option for enabling local_random_exchange
(cherry picked from commit 8a323b1)
1 parent a1dfda7 commit c7bb836

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

deps/rabbit/priv/schema/rabbit.schema

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2608,9 +2608,9 @@ end}.
26082608

26092609
%% Enable or disable local random exchange
26102610
%%
2611-
%% {enable_local_random_exchange, false},
2611+
%% {exchange_types.local_random.enabled, false},
26122612

2613-
{mapping, "enable_local_random_exchange", "rabbit.enable_local_random_exchange", [
2613+
{mapping, "exchange_types.local_random.enabled", "rabbit.local_random_exchange_enabled", [
26142614
{datatype, {enum, [true, false]}}
26152615
]}.
26162616

deps/rabbit/src/rabbit_exchange_type_local_random.erl

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,21 @@ info(_X, _) -> [].
5959
serialise_events() -> false.
6060
validate(_X) ->
6161
case rabbit_feature_flags:is_enabled(?MODULE) andalso
62-
rabbit_misc:get_env(rabbit, enable_local_random_exchange, true) of
62+
rabbit_misc:get_env(rabbit, enable_local_random_exchange, false) of
6363
true ->
64-
ok;
64+
case application:get_env(rabbit, local_random_exchange_enabled, true) of
65+
true ->
66+
ok;
67+
false ->
68+
rabbit_misc:protocol_error(
69+
precondition_failed,
70+
"x-local-random exchange is disabled by configuration", [],
71+
'exchange.declare')
72+
end;
6573
false ->
6674
rabbit_misc:protocol_error(
6775
precondition_failed,
68-
"x-local-random exchange feature not available", [],
76+
"x-local-random exchange feature flag is disabled", [],
6977
'exchange.declare')
7078
end.
7179

deps/rabbit/test/rabbit_local_random_exchange_SUITE.erl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ groups() ->
2323
routed_to_one_local_queue_test,
2424
no_route,
2525
enable_local_random_exchange_config_test
26+
no_route,
27+
enable_local_random_exchange_config_test
2628
]}
2729
].
2830

@@ -202,15 +204,15 @@ enable_local_random_exchange_config_test(Config) ->
202204

203205
%% Disable the config flag
204206
rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
205-
[rabbit, enable_local_random_exchange, false]),
207+
[rabbit, local_random_exchange_enabled, false]),
206208

207209
%% Try to create exchange - should fail
208210
?assertExit({{shutdown, {server_initiated_close, 406, _}}, _},
209211
declare_exchange(Config, E)),
210212

211213
%% Re-enable the config flag
212214
rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env,
213-
[rabbit, enable_local_random_exchange, true]),
215+
[rabbit, local_random_exchange_enabled, true]),
214216

215217
%% Now exchange creation should succeed
216218
declare_exchange(Config, E),

0 commit comments

Comments
 (0)