From 0f1b14f865ea9836b0d89d3cc5de846345015c8b Mon Sep 17 00:00:00 2001 From: lafirest Date: Tue, 14 Dec 2021 17:17:46 +0800 Subject: [PATCH] fix(emqx_limiter): update the overall limiter when config updating --- rebar.config | 2 +- src/emqx.appup.src | 6 ++++++ src/emqx_zone.erl | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/rebar.config b/rebar.config index fe785724a..ee58d3dac 100644 --- a/rebar.config +++ b/rebar.config @@ -6,7 +6,7 @@ [{gproc, {git, "https://github.com/uwiger/gproc", {tag, "0.8.0"}}}, {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.5"}}}, {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.7.1"}}}, - {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.7.5"}}}, + {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.7.6"}}}, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.7.10"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.5.0"}}}, {cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v3.0.0"}}} diff --git a/src/emqx.appup.src b/src/emqx.appup.src index 2c0d887f8..67b6e65e3 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -128,6 +128,9 @@ {load_module, emqx_connection, brutal_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []} ]}, + {<<"4.2.9">>, [ + {load_module, emqx_zone, brutal_purge, soft_purge, []}, + ]}, {<<".*">>, []} ], [ @@ -257,6 +260,9 @@ {load_module, emqx_connection, brutal_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []} ]}, + {<<"4.2.9">>, [ + {load_module, emqx_zone, brutal_purge, soft_purge, []}, + ]}, {<<".*">>, []} ] }. diff --git a/src/emqx_zone.erl b/src/emqx_zone.erl index 6cec6c1ee..760fbb2cb 100644 --- a/src/emqx_zone.erl +++ b/src/emqx_zone.erl @@ -243,6 +243,7 @@ get_env(Zone, Key, Def) -> -spec(set_env(zone(), atom(), term()) -> ok). set_env(Zone, Key, Val) -> + on_conf_update(Key, Val, Zone), persistent_term:put(?KEY(Zone, Key), Val). -spec(unset_env(zone(), atom()) -> boolean()). @@ -296,3 +297,8 @@ do_reload() -> [persistent_term:put(?KEY(Zone, Key), Val) || {Zone, Opts} <- emqx:get_env(zones, []), {Key, Val} <- Opts]. +on_conf_update(overall_messages_routing, {Capacity, Interval}, Zone) -> + esockd_limiter:update({Zone, overall_messages_routing}, Capacity, Interval), + ok; +on_conf_update(_, _, _) -> + ok.