diff --git a/apps/emqx_auth_jwt/src/emqx_authn_jwt.erl b/apps/emqx_auth_jwt/src/emqx_authn_jwt.erl index e01121a01..2f8ebec36 100644 --- a/apps/emqx_auth_jwt/src/emqx_authn_jwt.erl +++ b/apps/emqx_auth_jwt/src/emqx_authn_jwt.erl @@ -187,7 +187,8 @@ do_create( ResourceId, ?AUTHN_RESOURCE_GROUP, emqx_authn_jwks_connector, - connector_opts(Config) + connector_opts(Config), + #{} ), {ok, #{ jwk_resource => ResourceId, diff --git a/apps/emqx_auth_postgresql/test/emqx_authn_postgresql_SUITE.erl b/apps/emqx_auth_postgresql/test/emqx_authn_postgresql_SUITE.erl index e899edbd9..dde5a184a 100644 --- a/apps/emqx_auth_postgresql/test/emqx_authn_postgresql_SUITE.erl +++ b/apps/emqx_auth_postgresql/test/emqx_authn_postgresql_SUITE.erl @@ -199,9 +199,13 @@ test_user_auth(#{ t_authenticate_disabled_prepared_statements(_Config) -> ResConfig = maps:merge(pgsql_config(), #{disable_prepared_statements => true}), - {ok, _} = emqx_resource:recreate_local(postgresql, ?PGSQL_RESOURCE, emqx_postgresql, ResConfig), + {ok, _} = emqx_resource:recreate_local( + postgresql, ?PGSQL_RESOURCE, emqx_postgresql, ResConfig, #{} + ), on_exit(fun() -> - emqx_resource:recreate_local(postgresql, ?PGSQL_RESOURCE, emqx_postgresql, pgsql_config()) + emqx_resource:recreate_local( + postgresql, ?PGSQL_RESOURCE, emqx_postgresql, pgsql_config(), #{} + ) end), ok = lists:foreach( fun(Sample0) -> diff --git a/apps/emqx_resource/src/emqx_resource.erl b/apps/emqx_resource/src/emqx_resource.erl index 76493b99f..e0a2e9343 100644 --- a/apps/emqx_resource/src/emqx_resource.erl +++ b/apps/emqx_resource/src/emqx_resource.erl @@ -39,12 +39,10 @@ -export([ %% store the config and start the instance - create_local/5, create_local/6, create_dry_run_local/3, create_dry_run_local/4, create_dry_run_local/5, - recreate_local/4, recreate_local/5, %% remove the config and stop the instance remove_local/1, @@ -142,6 +140,9 @@ -export([is_dry_run/1]). +%% For emqx_resource_proto_v1 rpc only +-export([create_local/5, recreate_local/4, create_dry_run_local/2]). + -export_type([ query_mode/0, resource_id/0, @@ -281,12 +282,6 @@ is_resource_mod(Module) -> %% ================================================================================= %% APIs for resource instances %% ================================================================================= - --spec create_local(type(), resource_id(), resource_group(), resource_type(), resource_config()) -> - {ok, resource_data() | 'already_created'} | {error, Reason :: term()}. -create_local(Type, ResId, Group, ResourceType, Config) -> - create_local(Type, ResId, Group, ResourceType, Config, #{}). - -spec create_local( type(), resource_id(), @@ -320,11 +315,6 @@ when create_dry_run_local(Type, ResId, ResourceType, Config, OnReadyCallback) -> emqx_resource_manager:create_dry_run(Type, ResId, ResourceType, Config, OnReadyCallback). --spec recreate_local(type(), resource_id(), resource_type(), resource_config()) -> - {ok, resource_data()} | {error, Reason :: term()}. -recreate_local(Type, ResId, ResourceType, Config) -> - recreate_local(Type, ResId, ResourceType, Config, #{}). - -spec recreate_local(type(), resource_id(), resource_type(), resource_config(), creation_opts()) -> {ok, resource_data()} | {error, Reason :: term()}. recreate_local(Type, ResId, ResourceType, Config, Opts) -> @@ -339,11 +329,15 @@ remove_local(ResId) -> ok; Error -> %% Only log, the ResId worker is always removed in manager's remove action. - ?SLOG(warning, #{ - msg => "remove_resource_failed", - error => Error, - resource_id => ResId - }), + ?SLOG( + warning, + #{ + msg => "remove_resource_failed", + error => Error, + resource_id => ResId + }, + #{tag => ?TAG} + ), ok end. @@ -815,3 +809,18 @@ validate_name(Name, Opts) -> -spec invalid_data(binary()) -> no_return(). invalid_data(Reason) -> throw(#{kind => validation_error, reason => Reason}). + +%% Those functions is only used in the emqx_resource_proto_v1 +%% for versions that are less than version 5.6.0. +%% begin +-spec create_local( + resource_id(), resource_group(), resource_type(), resource_config(), creation_opts() +) -> + {ok, resource_data() | 'already_created'} | {error, Reason :: term()}. +create_local(ResId, Group, ResourceType, Config, Opts) -> + create_local(deprecated, ResId, Group, ResourceType, Config, Opts). +create_dry_run_local(ResourceType, Config) -> + create_dry_run_local(deprecated, ResourceType, Config). +recreate_local(ResId, ResourceType, Config, Opts) -> + recreate_local(deprecated, ResId, ResourceType, Config, Opts). +%% end diff --git a/apps/emqx_resource/src/emqx_resource_pool.erl b/apps/emqx_resource/src/emqx_resource_pool.erl index 516c483e3..ba286e35c 100644 --- a/apps/emqx_resource/src/emqx_resource_pool.erl +++ b/apps/emqx_resource/src/emqx_resource_pool.erl @@ -38,7 +38,7 @@ start(Name, Mod, Options) -> case ecpool:start_sup_pool(Name, Mod, Options) of {ok, _} -> - ?SLOG(info, #{msg => "start_ecpool_ok", pool_name => Name}), + ?SLOG(info, #{msg => "start_ecpool_ok", pool_name => Name}, #{tag => ?TAG}), ok; {error, {already_started, _Pid}} -> stop(Name), @@ -46,27 +46,35 @@ start(Name, Mod, Options) -> {error, Reason} -> NReason = parse_reason(Reason), IsDryRun = emqx_resource:is_dry_run(Name), - ?SLOG(?LOG_LEVEL(IsDryRun), #{ - msg => "start_ecpool_error", - resource_id => Name, - reason => NReason - }), + ?SLOG( + ?LOG_LEVEL(IsDryRun), + #{ + msg => "start_ecpool_error", + resource_id => Name, + reason => NReason + }, + #{tag => ?TAG} + ), {error, {start_pool_failed, Name, NReason}} end. stop(Name) -> case ecpool:stop_sup_pool(Name) of ok -> - ?SLOG(info, #{msg => "stop_ecpool_ok", pool_name => Name}); + ?SLOG(info, #{msg => "stop_ecpool_ok", pool_name => Name}, #{tag => ?TAG}); {error, not_found} -> ok; {error, Reason} -> IsDryRun = emqx_resource:is_dry_run(Name), - ?SLOG(?LOG_LEVEL(IsDryRun), #{ - msg => "stop_ecpool_failed", - resource_id => Name, - reason => Reason - }), + ?SLOG( + ?LOG_LEVEL(IsDryRun), + #{ + msg => "stop_ecpool_failed", + resource_id => Name, + reason => Reason + }, + #{tag => ?TAG} + ), error({stop_pool_failed, Name, Reason}) end. diff --git a/apps/emqx_resource/test/emqx_resource_SUITE.erl b/apps/emqx_resource/test/emqx_resource_SUITE.erl index 981c88edd..8e16ec26a 100644 --- a/apps/emqx_resource/test/emqx_resource_SUITE.erl +++ b/apps/emqx_resource/test/emqx_resource_SUITE.erl @@ -3506,7 +3506,7 @@ gauge_metric_set_fns() -> ]. create(Id, Group, Type, Config) -> - emqx_resource:create_local(test, Id, Group, Type, Config). + emqx_resource:create_local(test, Id, Group, Type, Config, #{}). create(Id, Group, Type, Config, Opts) -> emqx_resource:create_local(test, Id, Group, Type, Config, Opts).