diff --git a/apps/emqx_connector/src/emqx_connector.erl b/apps/emqx_connector/src/emqx_connector.erl index 0e17971e1..fbb89e8e7 100644 --- a/apps/emqx_connector/src/emqx_connector.erl +++ b/apps/emqx_connector/src/emqx_connector.erl @@ -48,12 +48,13 @@ pre_config_update(Path, Conf, _OldConfig) when is_map(Conf) -> -dialyzer([{nowarn_function, [post_config_update/5]}, error_handling]). post_config_update([connectors, Type, Name] = Path, '$remove', _, OldConf, _AppEnvs) -> ConnId = connector_id(Type, Name), - try foreach_linked_bridges(ConnId, fun(#{type := BType, name := BName}) -> + try + foreach_linked_bridges(ConnId, fun(#{type := BType, name := BName}) -> throw({dependency_bridges_exist, emqx_bridge:bridge_id(BType, BName)}) - end) + end), + _ = emqx_connector_ssl:clear_certs(filename:join(Path), OldConf) catch throw:Error -> {error, Error} - end, - _ = emqx_connector_ssl:clear_certs(filename:join(Path), OldConf); + end; post_config_update([connectors, Type, Name], _Req, NewConf, OldConf, _AppEnvs) -> ConnId = connector_id(Type, Name), foreach_linked_bridges(ConnId, diff --git a/apps/emqx_connector/src/emqx_connector_ssl.erl b/apps/emqx_connector/src/emqx_connector_ssl.erl index 07b12eea1..02d9a4070 100644 --- a/apps/emqx_connector/src/emqx_connector_ssl.erl +++ b/apps/emqx_connector/src/emqx_connector_ssl.erl @@ -47,4 +47,4 @@ map_get_oneof([Key | Keys], Map, Default) -> map_get_oneof(Keys, Map, Default); {ok, Value} -> Value - end. \ No newline at end of file + end.