fix(resource): metrics were cleared after updating the resource

This commit is contained in:
Shawn 2021-12-30 15:45:13 +08:00
parent e2d899ad6e
commit ea2d4674df
1 changed files with 8 additions and 3 deletions

View File

@ -149,7 +149,7 @@ do_recreate(InstId, ResourceType, NewConfig, Params) ->
TestInstId = iolist_to_binary(emqx_misc:gen_id(16)), TestInstId = iolist_to_binary(emqx_misc:gen_id(16)),
case do_create_dry_run(TestInstId, ResourceType, Config) of case do_create_dry_run(TestInstId, ResourceType, Config) of
ok -> ok ->
do_remove(ResourceType, InstId, ResourceState), do_remove(ResourceType, InstId, ResourceState, false),
do_create(InstId, ResourceType, Config, #{force_create => true}); do_create(InstId, ResourceType, Config, #{force_create => true});
Error -> Error ->
Error Error
@ -208,10 +208,15 @@ do_remove(InstId) ->
end. end.
do_remove(Mod, InstId, ResourceState) -> do_remove(Mod, InstId, ResourceState) ->
do_remove(Mod, InstId, ResourceState, true).
do_remove(Mod, InstId, ResourceState, ClearMetrics) ->
_ = emqx_resource:call_stop(InstId, Mod, ResourceState), _ = emqx_resource:call_stop(InstId, Mod, ResourceState),
ets:delete(emqx_resource_instance, InstId), ets:delete(emqx_resource_instance, InstId),
ok = emqx_plugin_libs_metrics:clear_metrics(resource_metrics, InstId), case ClearMetrics of
ok. true -> ok = emqx_plugin_libs_metrics:clear_metrics(resource_metrics, InstId);
false -> ok
end.
do_restart(InstId) -> do_restart(InstId) ->
case lookup(InstId) of case lookup(InstId) of