fix(limiter): remove the `enable` field
This commit is contained in:
parent
d13055be43
commit
7e3c8162ea
|
@ -1,16 +1,5 @@
|
|||
emqx_limiter_schema {
|
||||
|
||||
enable {
|
||||
desc {
|
||||
en: """Enable"""
|
||||
zh: """是否开启"""
|
||||
}
|
||||
label: {
|
||||
en: """Enable"""
|
||||
zh: """是否开启"""
|
||||
}
|
||||
}
|
||||
|
||||
failure_strategy {
|
||||
desc {
|
||||
en: """The strategy when all the retries failed."""
|
||||
|
|
|
@ -119,19 +119,9 @@ post_config_update([limiter, Type], _Config, NewConf, _OldConf, _AppEnvs) ->
|
|||
Config = maps:get(Type, NewConf),
|
||||
case emqx_limiter_server:whereis(Type) of
|
||||
undefined ->
|
||||
case Config of
|
||||
#{enable := false} ->
|
||||
ok;
|
||||
_ ->
|
||||
start_server(Type)
|
||||
end;
|
||||
start_server(Type, Config);
|
||||
_ ->
|
||||
case Config of
|
||||
#{enable := false} ->
|
||||
stop_server(Type);
|
||||
_ ->
|
||||
emqx_limiter_server:update_config(Type, Config)
|
||||
end
|
||||
emqx_limiter_server:update_config(Type, Config)
|
||||
end.
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
|
|
|
@ -30,8 +30,7 @@
|
|||
namespace/0,
|
||||
get_bucket_cfg_path/2,
|
||||
desc/1,
|
||||
types/0,
|
||||
is_enable/1
|
||||
types/0
|
||||
]).
|
||||
|
||||
-define(KILOBYTE, 1024).
|
||||
|
@ -89,13 +88,12 @@ fields(limiter) ->
|
|||
{Type,
|
||||
?HOCON(?R_REF(limiter_opts), #{
|
||||
desc => ?DESC(Type),
|
||||
default => #{<<"enable">> => false}
|
||||
default => #{}
|
||||
})}
|
||||
|| Type <- types()
|
||||
];
|
||||
fields(limiter_opts) ->
|
||||
[
|
||||
{enable, ?HOCON(boolean(), #{desc => ?DESC(enable), default => true})},
|
||||
{rate, ?HOCON(rate(), #{desc => ?DESC(rate), default => "infinity"})},
|
||||
{burst,
|
||||
?HOCON(burst_rate(), #{
|
||||
|
@ -202,10 +200,6 @@ to_rate(Str) ->
|
|||
get_bucket_cfg_path(Type, BucketName) ->
|
||||
[limiter, Type, bucket, BucketName].
|
||||
|
||||
-spec is_enable(limiter_type()) -> boolean().
|
||||
is_enable(Type) ->
|
||||
emqx:get_config([limiter, Type, enable], false).
|
||||
|
||||
types() ->
|
||||
[bytes_in, message_in, connection, message_routing, batch].
|
||||
|
||||
|
|
|
@ -113,13 +113,10 @@
|
|||
connect(_Type, undefined) ->
|
||||
{ok, emqx_htb_limiter:make_infinity_limiter()};
|
||||
connect(Type, BucketName) when is_atom(BucketName) ->
|
||||
case check_enable_and_get_bucket_cfg(Type, BucketName) of
|
||||
case get_bucket_cfg(Type, BucketName) of
|
||||
undefined ->
|
||||
?SLOG(error, #{msg => "bucket_config_not_found", type => Type, bucket => BucketName}),
|
||||
{error, config_not_found};
|
||||
limiter_not_started ->
|
||||
?SLOG(error, #{msg => "limiter_not_started", type => Type, bucket => BucketName}),
|
||||
{error, limiter_not_started};
|
||||
#{
|
||||
rate := AggrRate,
|
||||
capacity := AggrSize,
|
||||
|
@ -478,7 +475,7 @@ init_tree(Type, #{bucket := Buckets} = Cfg) ->
|
|||
|
||||
State2 = State#{
|
||||
root := Root,
|
||||
counter := counters:new(CounterNum, [write_concurrency])
|
||||
counter := counters:new(CounterNum, [atomics])
|
||||
},
|
||||
|
||||
lists:foldl(fun(F, Acc) -> F(Acc) end, State2, DelayBuckets).
|
||||
|
@ -605,13 +602,8 @@ call(Type, Msg) ->
|
|||
gen_server:call(Pid, Msg)
|
||||
end.
|
||||
|
||||
-spec check_enable_and_get_bucket_cfg(limiter_type(), bucket_name()) ->
|
||||
-spec get_bucket_cfg(limiter_type(), bucket_name()) ->
|
||||
undefined | limiter_not_started | hocons:config().
|
||||
check_enable_and_get_bucket_cfg(Type, Bucket) ->
|
||||
case emqx_limiter_schema:is_enable(Type) of
|
||||
false ->
|
||||
limiter_not_started;
|
||||
_ ->
|
||||
Path = emqx_limiter_schema:get_bucket_cfg_path(Type, Bucket),
|
||||
emqx:get_config(Path, undefined)
|
||||
end.
|
||||
get_bucket_cfg(Type, Bucket) ->
|
||||
Path = emqx_limiter_schema:get_bucket_cfg_path(Type, Bucket),
|
||||
emqx:get_config(Path, undefined).
|
||||
|
|
|
@ -101,14 +101,4 @@ make_child(Type, Cfg) ->
|
|||
}.
|
||||
|
||||
childs() ->
|
||||
Conf = emqx:get_config([limiter]),
|
||||
lists:foldl(
|
||||
fun
|
||||
({Type, #{enable := true}}, Acc) ->
|
||||
[make_child(Type) | Acc];
|
||||
(_, Acc) ->
|
||||
Acc
|
||||
end,
|
||||
[],
|
||||
maps:to_list(Conf)
|
||||
).
|
||||
[make_child(Type) || Type <- emqx_limiter_schema:types()].
|
||||
|
|
Loading…
Reference in New Issue