diff --git a/apps/emqx/src/emqx.erl b/apps/emqx/src/emqx.erl index 6cdefbad7..097583ed2 100644 --- a/apps/emqx/src/emqx.erl +++ b/apps/emqx/src/emqx.erl @@ -203,7 +203,7 @@ update_config(KeyPath, UpdateReq) -> -spec update_config( emqx_utils_maps:config_key_path(), emqx_config:update_request(), - emqx_config:cluster_rpc_opts() + emqx_config:update_opts() ) -> {ok, emqx_config:update_result()} | {error, emqx_config:update_error()}. update_config(KeyPath, UpdateReq, Opts) -> diff --git a/apps/emqx/src/emqx_config_handler.erl b/apps/emqx/src/emqx_config_handler.erl index e08642767..729dccc28 100644 --- a/apps/emqx/src/emqx_config_handler.erl +++ b/apps/emqx/src/emqx_config_handler.erl @@ -852,7 +852,9 @@ assert_callback_function(Mod) -> _ = apply(Mod, module_info, []), case erlang:function_exported(Mod, pre_config_update, 3) orelse - erlang:function_exported(Mod, post_config_update, 5) + erlang:function_exported(Mod, post_config_update, 5) orelse + erlang:function_exported(Mod, pre_config_update, 4) orelse + erlang:function_exported(Mod, post_config_update, 6) of true -> ok; false -> error(#{msg => "bad_emqx_config_handler_callback", module => Mod}) @@ -899,6 +901,8 @@ save_handlers(Handlers) -> get_function_arity(_Module, _Callback, []) -> false; get_function_arity(Module, Callback, [Arity | Opts]) -> + %% ensure module is loaded + Module = Module:module_info(module), case erlang:function_exported(Module, Callback, Arity) of true -> Arity; false -> get_function_arity(Module, Callback, Opts) diff --git a/apps/emqx_resource/src/emqx_resource.erl b/apps/emqx_resource/src/emqx_resource.erl index caa548b0b..15c0a0293 100644 --- a/apps/emqx_resource/src/emqx_resource.erl +++ b/apps/emqx_resource/src/emqx_resource.erl @@ -338,7 +338,7 @@ remove_local(ResId) -> ok end. -%% Tip: Don't delete reset_metrics_local/1, use before v571 rpc +%% Tip: Don't delete reset_metrics_local/1, use before v572 rpc -spec reset_metrics_local(resource_id()) -> ok. reset_metrics_local(ResId) -> reset_metrics_local(ResId, #{}). diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine.erl b/apps/emqx_rule_engine/src/emqx_rule_engine.erl index a79db321b..2adf511a2 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine.erl @@ -303,7 +303,7 @@ maybe_add_metrics_for_rule(Id) -> clear_metrics_for_rule(Id) -> ok = emqx_metrics_worker:clear_metrics(rule_metrics, Id). -%% Tip: Don't delete reset_metrics_for_rule/1, use before v571 rpc +%% Tip: Don't delete reset_metrics_for_rule/1, use before v572 rpc -spec reset_metrics_for_rule(rule_id()) -> ok. reset_metrics_for_rule(Id) -> reset_metrics_for_rule(Id, #{}).