fix(emqx_modules): ignore already_existed/not_found errors for added/removed topic metrics
This commit is contained in:
parent
b37920d2e5
commit
ee97cf8e33
|
@ -168,10 +168,11 @@ post_config_update(_, _UpdateReq, NewConfig, OldConfig, _AppEnvs) ->
|
||||||
} = emqx_utils:diff_lists(NewConfig, OldConfig, fun(#{topic := T}) -> T end),
|
} = emqx_utils:diff_lists(NewConfig, OldConfig, fun(#{topic := T}) -> T end),
|
||||||
Deregistered = [emqx_topic_metrics:deregister(T) || #{topic := T} <- Removed],
|
Deregistered = [emqx_topic_metrics:deregister(T) || #{topic := T} <- Removed],
|
||||||
Registered = [emqx_topic_metrics:register(T) || #{topic := T} <- Added],
|
Registered = [emqx_topic_metrics:register(T) || #{topic := T} <- Added],
|
||||||
Errs = [Res || Res <- Registered ++ Deregistered, Res =/= ok],
|
DeregisteredErrs = [Res || Res <- Deregistered, Res =/= ok, Res =/= {error, topic_not_found}],
|
||||||
case Errs of
|
RegisteredErrs = [Res || Res <- Registered, Res =/= ok, Res =/= {error, already_existed}],
|
||||||
|
case DeregisteredErrs ++ RegisteredErrs of
|
||||||
[] -> ok;
|
[] -> ok;
|
||||||
_ -> {error, Errs}
|
Errs -> {error, Errs}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue