diff --git a/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl b/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl index b9bfda166..32c92c8f0 100644 --- a/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl +++ b/apps/emqx/src/emqx_limiter/src/emqx_limiter_schema.erl @@ -212,17 +212,29 @@ short_paths_fields() -> short_paths_fields(Importance) -> [ {Name, - ?HOCON(rate_type(), #{ - desc => ?DESC(Name), - required => false, - default => infinity, - importance => Importance, - example => Example - })} + ?HOCON( + rate_type(), + maps:merge( + #{ + desc => ?DESC(Name), + required => false, + importance => Importance, + example => Example + }, + short_paths_fields_extra(Name) + ) + )} || {Name, Example} <- lists:zip(short_paths(), [<<"1000/s">>, <<"1000/s">>, <<"100MB/s">>]) ]. +short_paths_fields_extra(max_conn_rate) -> + #{ + default => infinity + }; +short_paths_fields_extra(_Name) -> + #{}. + desc(limiter) -> "Settings for the rate limiter."; desc(node_opts) -> diff --git a/apps/emqx/test/emqx_ratelimiter_SUITE.erl b/apps/emqx/test/emqx_ratelimiter_SUITE.erl index 28a05ce23..b76c5dd33 100644 --- a/apps/emqx/test/emqx_ratelimiter_SUITE.erl +++ b/apps/emqx/test/emqx_ratelimiter_SUITE.erl @@ -816,8 +816,8 @@ t_no_limiter_for_listener(_) -> CfgStr = <<>>, ok = emqx_common_test_helpers:load_config(emqx_schema, CfgStr), ListenerOpt = emqx:get_config([listeners, tcp, default]), - ?assertEqual( - undefined, + ?assertMatch( + #{connection := #{rate := infinity}}, emqx_limiter_utils:get_listener_opts(ListenerOpt) ).