diff --git a/CHANGES-4.3.md b/CHANGES-4.3.md index 3178d817e..0ecbd5623 100644 --- a/CHANGES-4.3.md +++ b/CHANGES-4.3.md @@ -18,8 +18,9 @@ File format: password-protected private key files used for dashboard and management HTTPS listeners. [#8129] -### Bug-fixes +### Bug fixes +- Avoid repeated writing `loaded_plugins` file if the plugin enable stauts has not changed [#8179] - Correctly tally `connack.auth_error` metrics when a client uses MQTT 3.1. [#8177] diff --git a/src/emqx.appup.src b/src/emqx.appup.src index 49fc3abb3..231275541 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -1,11 +1,14 @@ %% -*- mode: erlang -*- %% Unless you know what you are doing, DO NOT edit manually!! {VSN, - [{"4.3.16",[{load_module,emqx_metrics,brutal_purge,soft_purge,[]}]}, + [{"4.3.16", + [{load_module,emqx_plugins,brutal_purge,soft_purge,[]}, + {load_module,emqx_metrics,brutal_purge,soft_purge,[]}]}, {"4.3.15", [{add_module,emqx_calendar}, {load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]}, {load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_plugins,brutal_purge,soft_purge,[]}, {load_module,emqx_session,brutal_purge,soft_purge,[]}, {load_module,emqx_misc,brutal_purge,soft_purge,[]}, {load_module,emqx_shared_sub,brutal_purge,soft_purge,[]}, @@ -556,11 +559,14 @@ {load_module,emqx_message,brutal_purge,soft_purge,[]}, {load_module,emqx_limiter,brutal_purge,soft_purge,[]}]}, {<<".*">>,[]}], - [{"4.3.16",[{load_module,emqx_metrics,brutal_purge,soft_purge,[]}]}, + [{"4.3.16", + [{load_module,emqx_plugins,brutal_purge,soft_purge,[]}, + {load_module,emqx_metrics,brutal_purge,soft_purge,[]}]}, {"4.3.15", [{delete_module,emqx_calendar}, {load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]}, {load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_plugins,brutal_purge,soft_purge,[]}, {load_module,emqx_alarm,brutal_purge,soft_purge,[]}, {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module,emqx_misc,brutal_purge,soft_purge,[]}, diff --git a/src/emqx_plugins.erl b/src/emqx_plugins.erl index c928d4d31..3177f05e7 100644 --- a/src/emqx_plugins.erl +++ b/src/emqx_plugins.erl @@ -387,7 +387,8 @@ plugin_loaded(_Name, false) -> ok; plugin_loaded(Name, true) -> case read_loaded() of - {ok, Names} -> + {ok, Names0} -> + Names = filter_plugins(Names0), case lists:member(Name, Names) of false -> %% write file if plugin is loaded