From 7b247b43d8d5bf73365de8ec2d8240429f72742d Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Tue, 14 Jun 2022 21:17:53 +0800 Subject: [PATCH 1/6] fix: copy mnesia tables as disc_copies --- src/emqx.appup.src | 22 ++++++++++++++++++++++ src/emqx_alarm.erl | 4 ++-- src/emqx_banned.erl | 2 +- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/emqx.appup.src b/src/emqx.appup.src index dbaeae143..c7a93eb58 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -3,6 +3,8 @@ {VSN, [ {"4.2.0", [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {add_module, emqx_congestion}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, @@ -33,6 +35,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {"4.2.1", [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {add_module, emqx_congestion}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, @@ -62,6 +66,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.[23]">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {add_module, emqx_congestion}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, @@ -89,6 +95,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.4">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -115,6 +123,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.5">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -140,6 +150,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.[6-7]">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -160,6 +172,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.8">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -175,6 +189,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.9">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -189,6 +205,8 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, @@ -200,6 +218,10 @@ {load_module, emqx_sys, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, + {<<"4.2.11">>, [ + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []} + ]}, {<<".*">>, []} ], [ diff --git a/src/emqx_alarm.erl b/src/emqx_alarm.erl index d07354105..a2c51134d 100644 --- a/src/emqx_alarm.erl +++ b/src/emqx_alarm.erl @@ -113,8 +113,8 @@ mnesia(boot) -> {record_name, deactivated_alarm}, {attributes, record_info(fields, deactivated_alarm)}]); mnesia(copy) -> - ok = ekka_mnesia:copy_table(?ACTIVATED_ALARM), - ok = ekka_mnesia:copy_table(?DEACTIVATED_ALARM). + ok = ekka_mnesia:copy_table(?ACTIVATED_ALARM, disc_copies), + ok = ekka_mnesia:copy_table(?DEACTIVATED_ALARM, disc_copies). %%-------------------------------------------------------------------- %% API diff --git a/src/emqx_banned.erl b/src/emqx_banned.erl index 80f93be70..cbcd2e15f 100644 --- a/src/emqx_banned.erl +++ b/src/emqx_banned.erl @@ -62,7 +62,7 @@ mnesia(boot) -> {storage_properties, [{ets, [{read_concurrency, true}]}]}]); mnesia(copy) -> - ok = ekka_mnesia:copy_table(?BANNED_TAB). + ok = ekka_mnesia:copy_table(?BANNED_TAB, disc_copies). %% @doc Start the banned server. -spec(start_link() -> startlink_ret()). From 1ed9539a7ff94c75d82df52841cad46aee50ae37 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Wed, 22 Jun 2022 14:21:38 -0300 Subject: [PATCH 2/6] fix(acl): do not leave placeholders unreplaced (4.2) Port of https://github.com/emqx/emqx/pull/8280 --- src/emqx_access_rule.erl | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/emqx_access_rule.erl b/src/emqx_access_rule.erl index b0e1aeb0b..2cfec4f9b 100644 --- a/src/emqx_access_rule.erl +++ b/src/emqx_access_rule.erl @@ -133,9 +133,13 @@ match_who(_ClientInfo, _Who) -> match_topics(_ClientInfo, _Topic, []) -> false; match_topics(ClientInfo, Topic, [{pattern, PatternFilter}|Filters]) -> - TopicFilter = feed_var(ClientInfo, PatternFilter), - match_topic(emqx_topic:words(Topic), TopicFilter) - orelse match_topics(ClientInfo, Topic, Filters); + case feed_var(ClientInfo, PatternFilter) of + nomatch -> + false; + TopicFilter -> + match_topic(emqx_topic:words(Topic), TopicFilter) + orelse match_topics(ClientInfo, Topic, Filters) + end; match_topics(ClientInfo, Topic, [TopicFilter|Filters]) -> match_topic(emqx_topic:words(Topic), TopicFilter) orelse match_topics(ClientInfo, Topic, Filters). @@ -149,14 +153,13 @@ feed_var(ClientInfo, Pattern) -> feed_var(ClientInfo, Pattern, []). feed_var(_ClientInfo, [], Acc) -> lists:reverse(Acc); -feed_var(ClientInfo = #{clientid := undefined}, [<<"%c">>|Words], Acc) -> - feed_var(ClientInfo, Words, [<<"%c">>|Acc]); +feed_var(#{clientid := undefined}, [<<"%c">>|_Words], _Acc) -> + nomatch; feed_var(ClientInfo = #{clientid := ClientId}, [<<"%c">>|Words], Acc) -> feed_var(ClientInfo, Words, [ClientId |Acc]); -feed_var(ClientInfo = #{username := undefined}, [<<"%u">>|Words], Acc) -> - feed_var(ClientInfo, Words, [<<"%u">>|Acc]); +feed_var(#{username := undefined}, [<<"%u">>|_Words], _Acc) -> + nomatch; feed_var(ClientInfo = #{username := Username}, [<<"%u">>|Words], Acc) -> feed_var(ClientInfo, Words, [Username|Acc]); feed_var(ClientInfo, [W|Words], Acc) -> feed_var(ClientInfo, Words, [W|Acc]). - From af284cebf7d3dbe6730f82e79e62e09b14399e07 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Wed, 22 Jun 2022 16:19:50 -0300 Subject: [PATCH 3/6] chore: add appup actions --- src/emqx.appup.src | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/emqx.appup.src b/src/emqx.appup.src index c7a93eb58..dddf77e0e 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -172,6 +172,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.8">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, @@ -189,6 +190,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.9">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, @@ -205,6 +207,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, @@ -219,6 +222,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.11">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []} ]}, @@ -384,6 +388,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.8">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -399,6 +404,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.9">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, @@ -413,6 +419,7 @@ {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, From 0845b19a14922b160116e43e940bcb5b544ded06 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Tue, 2 Aug 2022 14:35:37 +0800 Subject: [PATCH 4/6] chore: update ekka to 0.7.11 In order to print the stacktrace of the killed process by holding ekka_locker too long diffs: https://github.com/emqx/ekka/commit/41618485655a13de8af16f48d0f193477df9b1dd --- rebar.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rebar.config b/rebar.config index ee58d3dac..a60982c65 100644 --- a/rebar.config +++ b/rebar.config @@ -7,7 +7,7 @@ {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.6"}}}, - {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.7.10"}}}, + {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.7.11"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.5.0"}}}, {cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v3.0.0"}}} ]}. From 625fb258d075fda62e4e70cee1bbdc7205cc3396 Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Tue, 2 Aug 2022 14:44:40 +0800 Subject: [PATCH 5/6] feat: format variable as iodata instead of io_lib:format to reduce memory alloc --- src/emqx_packet.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emqx_packet.erl b/src/emqx_packet.erl index 015f95e0d..8d90a3edc 100644 --- a/src/emqx_packet.erl +++ b/src/emqx_packet.erl @@ -429,7 +429,7 @@ format_variable(undefined, _) -> format_variable(Variable, undefined) -> format_variable(Variable); format_variable(Variable, Payload) -> - io_lib:format("~s, Payload=~0p", [format_variable(Variable), Payload]). + [format_variable(Variable), "Payload=", Payload]. format_variable(#mqtt_packet_connect{ proto_ver = ProtoVer, From 8700049610c94238c086bee3dd2e1485a1c9e52d Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Tue, 2 Aug 2022 15:00:14 +0800 Subject: [PATCH 6/6] fix: add emqx_packet to emqx.appup.src --- src/emqx.appup.src | 64 +++++++++++++++++++++++++++++++++------------- 1 file changed, 46 insertions(+), 18 deletions(-) diff --git a/src/emqx.appup.src b/src/emqx.appup.src index dddf77e0e..b6148a095 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -6,8 +6,7 @@ {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, - {add_module, emqx_congestion}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {add_module, emqx_congestion}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_session, brutal_purge, soft_purge, []}, {load_module, emqx_metrics, brutal_purge, soft_purge, []}, @@ -32,14 +31,14 @@ {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {"4.2.1", [ {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, - {add_module, emqx_congestion}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {add_module, emqx_congestion}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_session, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []}, @@ -63,6 +62,7 @@ {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.[23]">>, [ @@ -70,8 +70,7 @@ {load_module, emqx_banned, brutal_purge, soft_purge, []}, {load_module, emqx_message, brutal_purge, soft_purge, []}, {add_module, emqx_congestion}, - {load_module, emqx_frame, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_session, brutal_purge, soft_purge, []}, {update, emqx_connection, {advanced, []}}, @@ -92,6 +91,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.4">>, [ @@ -104,8 +104,7 @@ {load_module, emqx_congestion, brutal_purge, soft_purge, []}, {update, emqx_connection, {advanced, []}}, {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, - {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, {load_module, emqx_router_sup, soft_purge, soft_purge, []}, {load_module, emqx_broker, soft_purge, soft_purge, []}, {load_module, emqx_trie, soft_purge, soft_purge, []}, @@ -120,6 +119,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.5">>, [ @@ -132,8 +132,7 @@ {load_module, emqx_congestion, brutal_purge, soft_purge, []}, {update, emqx_connection, {advanced, []}}, {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, - {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, {load_module, emqx_router_sup, soft_purge, soft_purge, []}, {load_module, emqx_broker, soft_purge, soft_purge, []}, {load_module, emqx_trie, soft_purge, soft_purge, []}, @@ -147,6 +146,7 @@ {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.[6-7]">>, [ @@ -163,12 +163,12 @@ {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_misc,brutal_purge,soft_purge,[]}, - {load_module, emqx_app, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.8">>, [ @@ -184,9 +184,9 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, - {load_module, emqx_app, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.9">>, [ @@ -201,9 +201,9 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, - {load_module, emqx_app, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ @@ -214,18 +214,25 @@ {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_frame, brutal_purge, soft_purge, []}, {load_module, emqx_app, brutal_purge, soft_purge, []}, - {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.11">>, [ {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_banned, brutal_purge, soft_purge, []} ]}, + {<<"4.2.12">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []} + ]} {<<".*">>, []} ], [ @@ -257,6 +264,7 @@ {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {"4.2.1", [ @@ -286,6 +294,7 @@ {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.[23]">>, [ @@ -313,6 +322,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.4">>, [ @@ -339,6 +349,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.5">>, [ @@ -365,6 +376,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.[6-7]">>, [ @@ -385,6 +397,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.8">>, [ @@ -401,6 +414,7 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.9">>, [ @@ -416,6 +430,7 @@ {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ @@ -429,8 +444,21 @@ {load_module, emqx_limiter, brutal_purge, soft_purge, []}, {load_module, emqx_listeners, brutal_purge, soft_purge, []}, {load_module, emqx_sys, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, {load_module, emqx_plugins, brutal_purge, soft_purge, []} ]}, + {<<"4.2.11">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []} + ]}, + {<<"4.2.12">>, [ + {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_packet, brutal_purge, soft_purge, []}, + {load_module, emqx_banned, brutal_purge, soft_purge, []} + ]} {<<".*">>, []} ] }.