From eec566fe4056ac86c1ba00ede8c2debba1dbf58c Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Fri, 14 Jan 2022 10:33:32 +0800 Subject: [PATCH] fix(rule): restore the metrics for actions in cluster --- apps/emqx_rule_engine/src/emqx_rule_engine.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine.erl b/apps/emqx_rule_engine/src/emqx_rule_engine.erl index 0dabb1c52..2eed25647 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine.erl @@ -50,6 +50,9 @@ , clear_action/3 ]). +-export([ restore_action_metrics/2 + ]). + -type(rule() :: #rule{}). -type(action() :: #action{}). -type(resource() :: #resource{}). @@ -491,7 +494,7 @@ may_update_rule_params(Rule, Params = #{on_action_failed := OnFailed}) -> may_update_rule_params(Rule = #rule{actions = OldActions}, Params = #{actions := Actions}) -> %% prepare new actions before removing old ones NewActions = prepare_actions(Actions, maps:get(enabled, Params, true)), - ok = restore_action_metrics(OldActions, NewActions), + _ = ?CLUSTER_CALL(restore_action_metrics, [OldActions, NewActions]), _ = ?CLUSTER_CALL(clear_actions, [OldActions]), may_update_rule_params(Rule#rule{actions = NewActions}, maps:remove(actions, Params)); may_update_rule_params(Rule, _Params) -> %% ignore all the unsupported params