chore: port changes from e4.4 back to v4.4
This commit is contained in:
parent
822ca2e26c
commit
5402ff7fd8
|
@ -1,8 +1,10 @@
|
|||
%% -*- mode: erlang -*-
|
||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||
{VSN,
|
||||
[{"4.3.4",
|
||||
[{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]}]},
|
||||
[{"4.3.5",[{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.4",
|
||||
[{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.3",
|
||||
[{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]},
|
||||
|
@ -18,8 +20,10 @@
|
|||
{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]}]},
|
||||
{<<".*">>,[]}],
|
||||
[{"4.3.4",
|
||||
[{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]}]},
|
||||
[{"4.3.5",[{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.4",
|
||||
[{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.3",
|
||||
[{load_module,emqx_acl_redis,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_auth_redis,brutal_purge,soft_purge,[]},
|
||||
|
|
|
@ -47,6 +47,7 @@ check(ClientInfo = #{password := Password}, AuthResult,
|
|||
end,
|
||||
case CheckPass of
|
||||
ok ->
|
||||
?LOG_SENSITIVE(debug, "[Redis] Auth from redis succeeded, Client: ~p", [ClientInfo]),
|
||||
IsSuperuser = is_superuser(Pool, Type, SuperCmd, ClientInfo, Timeout),
|
||||
{stop, AuthResult#{is_superuser => IsSuperuser,
|
||||
anonymous => false,
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
%% -*- mode: erlang -*-
|
||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||
{VSN,
|
||||
[{"4.3.7",
|
||||
[{"4.3.8",
|
||||
[{load_module,emqx_bridge_mqtt_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.7",
|
||||
[{load_module,emqx_bridge_mqtt_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.6",
|
||||
[{load_module,emqx_bridge_connect,brutal_purge,soft_purge,[]},
|
||||
|
@ -23,7 +25,9 @@
|
|||
{load_module,emqx_bridge_worker,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_bridge_mqtt_actions,brutal_purge,soft_purge,[]}]},
|
||||
{<<".*">>,[]}],
|
||||
[{"4.3.7",
|
||||
[{"4.3.8",
|
||||
[{load_module,emqx_bridge_mqtt_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.7",
|
||||
[{load_module,emqx_bridge_mqtt_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.6",
|
||||
[{load_module,emqx_bridge_connect,brutal_purge,soft_purge,[]},
|
||||
|
|
|
@ -482,7 +482,6 @@ on_resource_destroy(ResId, #{<<"pool">> := PoolName}) ->
|
|||
?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]),
|
||||
case ecpool:stop_sup_pool(PoolName) of
|
||||
ok ->
|
||||
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId),
|
||||
?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]);
|
||||
{error, Reason} ->
|
||||
?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_MQTT, ResId, Reason]),
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
%% -*- mode: erlang -*-
|
||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||
{VSN,
|
||||
[{"4.4.6",
|
||||
[{load_module,emqx_plugin_libs_ssl,brutal_purge,soft_purge,[]}]},
|
||||
[{"4.4.7",[{load_module,emqx_plugin_libs_ssl,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.6",[{load_module,emqx_plugin_libs_ssl,brutal_purge,soft_purge,[]}]},
|
||||
{<<"4\\.4\\.[3-5]">>,
|
||||
[{load_module,emqx_trace,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_trace_api,brutal_purge,soft_purge,[]},
|
||||
|
@ -22,8 +22,8 @@
|
|||
{update,emqx_slow_subs,{advanced,["4.4.0"]}},
|
||||
{load_module,emqx_slow_subs_api,brutal_purge,soft_purge,[]}]},
|
||||
{<<".*">>,[]}],
|
||||
[{"4.4.6",
|
||||
[{load_module,emqx_plugin_libs_ssl,brutal_purge,soft_purge,[]}]},
|
||||
[{"4.4.7",[{load_module,emqx_plugin_libs_ssl,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.6",[{load_module,emqx_plugin_libs_ssl,brutal_purge,soft_purge,[]}]},
|
||||
{<<"4\\.4\\.[3-5]">>,
|
||||
[{load_module,emqx_trace,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_trace_api,brutal_purge,soft_purge,[]},
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
-export([save_files_return_opts/2,
|
||||
save_files_return_opts/3,
|
||||
save_files_return_opts/4,
|
||||
save_file/2
|
||||
]).
|
||||
|
||||
|
@ -42,11 +43,18 @@
|
|||
-type opt_key() :: keyfile | certfile | cacertfile | verify | versions | ciphers.
|
||||
-type opt_value() :: term().
|
||||
-type opts() :: [{opt_key(), opt_value()}].
|
||||
-type dirname() :: atom() | string() | binary().
|
||||
|
||||
%% @doc Parse ssl options input.
|
||||
%% If the input contains file content, save the files in the given dir.
|
||||
%% Returns ssl options for Erlang's ssl application.
|
||||
-spec save_files_return_opts(opts_input(), atom() | string() | binary(),
|
||||
-spec save_files_return_opts(opts_input(), dirname(),
|
||||
string() | binary(), dirname()) -> opts().
|
||||
save_files_return_opts(Options, SubDir, ResId, ResSubdir) ->
|
||||
Dir = filename:join([emqx:get_env(data_dir), SubDir, ResId, ResSubdir]),
|
||||
save_files_return_opts(Options, Dir).
|
||||
|
||||
-spec save_files_return_opts(opts_input(), dirname(),
|
||||
string() | binary()) -> opts().
|
||||
save_files_return_opts(Options, SubDir, ResId) ->
|
||||
Dir = filename:join([emqx:get_env(data_dir), SubDir, ResId]),
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
%% -*- mode: erlang -*-
|
||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||
{VSN,
|
||||
[{<<"4\\.4\\.1[3-4]">>,
|
||||
[{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
[{"4.4.15",
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
|
||||
{<<"4\\.4\\.1[3-4]">>,
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}
|
||||
]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.12",
|
||||
[{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
|
||||
|
@ -16,7 +20,8 @@
|
|||
{update,emqx_rule_engine_jwt_sup,supervisor},
|
||||
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.11",
|
||||
[{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
{update,emqx_rule_engine_jwt_sup,supervisor},
|
||||
|
@ -25,10 +30,10 @@
|
|||
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
|
||||
{apply,{emqx_rule_engine_sup,ensure_api_delegator_started,[]}},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}
|
||||
]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.10",
|
||||
[{add_module,emqx_rule_engine_jwt},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{add_module,emqx_rule_engine_jwt},
|
||||
{add_module,emqx_rule_engine_jwt_worker},
|
||||
{add_module,emqx_rule_engine_jwt_sup},
|
||||
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
|
||||
|
@ -45,7 +50,8 @@
|
|||
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.9",
|
||||
[{add_module,emqx_rule_engine_jwt},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{add_module,emqx_rule_engine_jwt},
|
||||
{add_module,emqx_rule_engine_jwt_worker},
|
||||
{add_module,emqx_rule_engine_jwt_sup},
|
||||
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
|
||||
|
@ -232,14 +238,18 @@
|
|||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]},
|
||||
{<<".*">>,[]}],
|
||||
[{<<"4\\.4\\.1[3-4]">>,
|
||||
[{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
[{"4.4.15",
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
|
||||
{<<"4\\.4\\.1[3-4]">>,
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}
|
||||
]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.12",
|
||||
[{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
|
||||
|
@ -247,7 +257,8 @@
|
|||
{update,emqx_rule_engine_jwt_sup,supervisor},
|
||||
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.11",
|
||||
[{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
{update,emqx_rule_engine_jwt_sup,supervisor},
|
||||
|
@ -258,7 +269,8 @@
|
|||
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
|
||||
{"4.4.10",
|
||||
[{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
|
||||
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
|
||||
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
|
@ -276,7 +288,8 @@
|
|||
{delete_module,emqx_rule_engine_jwt_worker},
|
||||
{delete_module,emqx_rule_engine_jwt}]},
|
||||
{"4.4.9",
|
||||
[{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
|
||||
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
|
||||
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
|
||||
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
|
||||
|
|
|
@ -493,13 +493,16 @@ delete_resource(ResId) ->
|
|||
case emqx_rule_registry:remove_resource(ResId) of
|
||||
ok ->
|
||||
_ = ?CLUSTER_CALL(clear_resource, [ModD, Destroy, ResId, ResType]),
|
||||
ok;
|
||||
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId);
|
||||
{error, _} = R -> R
|
||||
end
|
||||
catch
|
||||
throw:Reason -> {error, Reason}
|
||||
end;
|
||||
not_found ->
|
||||
%% always try to remove the dir as the resource might be created but have
|
||||
%% not been initialized yet.
|
||||
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId),
|
||||
{error, not_found}
|
||||
end.
|
||||
|
||||
|
@ -712,7 +715,9 @@ action_instance_id(ActionName) ->
|
|||
iolist_to_binary([atom_to_list(ActionName), "_", integer_to_list(erlang:system_time())]).
|
||||
|
||||
init_resource(Module, OnCreate, ResId, Config) ->
|
||||
Params = ?RAISE(Module:OnCreate(ResId, Config), {Module, OnCreate}),
|
||||
Params = ?RAISE(Module:OnCreate(ResId, Config),
|
||||
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId),
|
||||
{Module, OnCreate}),
|
||||
ResParams = #resource_params{id = ResId,
|
||||
params = Params,
|
||||
status = #{is_alive => true}},
|
||||
|
|
|
@ -265,6 +265,8 @@ take_action(#action_instance{id = Id, name = ActName, fallbacks = Fallbacks} = A
|
|||
emqx_rule_metrics:inc_actions_taken(Id),
|
||||
apply_action_func(Selected, Envs, Apply, ActName)
|
||||
of
|
||||
badact_quiet ->
|
||||
handle_action_failure(OnFailed, Id, Fallbacks, Selected, Envs, badact_quiet);
|
||||
{badact, Reason} ->
|
||||
handle_action_failure(OnFailed, Id, Fallbacks, Selected, Envs, Reason);
|
||||
Result -> Result
|
||||
|
@ -320,10 +322,12 @@ wait_action_on(Id, RetryN) ->
|
|||
end.
|
||||
|
||||
handle_action_failure(continue, _Id, Fallbacks, Selected, Envs = #{metadata := Metadata}, Reason) ->
|
||||
Reason =/= badact_quiet andalso
|
||||
?LOG_RULE_ACTION(error, Metadata, "Continue next action, reason: ~0p", [Reason]),
|
||||
_ = take_actions(Fallbacks, Selected, Envs, continue),
|
||||
failed;
|
||||
handle_action_failure(stop, Id, Fallbacks, Selected, Envs = #{metadata := Metadata}, Reason) ->
|
||||
Reason =/= badact_quiet andalso
|
||||
?LOG_RULE_ACTION(error, Metadata, "Skip all actions, reason: ~0p", [Reason]),
|
||||
_ = take_actions(Fallbacks, Selected, Envs, continue),
|
||||
error({take_action_failed, {Id, Reason}}).
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
%% -*- mode: erlang -*-
|
||||
%% Unless you know what you are doing, DO NOT edit manually!!
|
||||
{VSN,
|
||||
[{"4.3.16",
|
||||
[{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
[{"4.3.17",[{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.16",[{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.15",
|
||||
[{load_module,emqx_web_hook_app,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
|
@ -34,8 +34,8 @@
|
|||
[{load_module,emqx_web_hook_app,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
{<<".*">>,[]}],
|
||||
[{"4.3.16",
|
||||
[{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
[{"4.3.17",[{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.16",[{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
{"4.3.15",
|
||||
[{load_module,emqx_web_hook_app,brutal_purge,soft_purge,[]},
|
||||
{load_module,emqx_web_hook_actions,brutal_purge,soft_purge,[]}]},
|
||||
|
|
|
@ -238,7 +238,6 @@ on_resource_destroy(ResId, #{<<"pool">> := PoolName}) ->
|
|||
?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_WEBHOOK, ResId]),
|
||||
case ehttpc_pool:stop_pool(PoolName) of
|
||||
ok ->
|
||||
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId),
|
||||
?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_WEBHOOK, ResId]);
|
||||
{error, Reason} ->
|
||||
?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_WEBHOOK, ResId, Reason]),
|
||||
|
|
|
@ -156,7 +156,10 @@ get_description() ->
|
|||
case os:getenv("EMQX_DESCRIPTION") of
|
||||
false -> Descr0;
|
||||
"" -> Descr0;
|
||||
Str -> string:strip(Str, both, $\n)
|
||||
Str ->
|
||||
%% We replace the "EMQ X" to "EMQX" incase the description has been
|
||||
%% loaded to the OS Envs and cannot be changed without reboot.
|
||||
replace_emq_x_to_emqx(string:strip(Str, both, $\n))
|
||||
end.
|
||||
|
||||
get_release() ->
|
||||
|
@ -183,3 +186,6 @@ start_autocluster() ->
|
|||
ekka:callback(reboot, fun emqx:reboot/0),
|
||||
_ = ekka:autocluster(?APP), %% returns 'ok' or a pid or 'any()' as in spec
|
||||
ok.
|
||||
|
||||
replace_emq_x_to_emqx(Str) ->
|
||||
re:replace(Str, "\\bEMQ X\\b", "EMQX", [{return,list}]).
|
||||
|
|
|
@ -33,6 +33,7 @@ post_release_upgrade(FromRelVsn, _) ->
|
|||
?INFO("emqx has been upgraded from ~s to ~s!", [FromRelVsn, CurrRelVsn]),
|
||||
maybe_refresh_jwt_module(FromRelVsn),
|
||||
_ = maybe_restart_oracle_resources(FromRelVsn),
|
||||
_ = maybe_start_schema_registry(FromRelVsn),
|
||||
reload_components().
|
||||
|
||||
%% What to do after downgraded to an old release vsn.
|
||||
|
@ -98,17 +99,9 @@ maybe_refresh_jwt_module(_) ->
|
|||
|
||||
-ifdef(EMQX_ENTERPRISE).
|
||||
maybe_restart_oracle_resources("4.4." ++ PatchVsn0) ->
|
||||
try
|
||||
case list_to_integer(PatchVsn0) of
|
||||
PatchVsn when PatchVsn =< 14 ->
|
||||
emqx_rule_engine:start_all_resources_of_type(backend_oracle);
|
||||
_ -> ok
|
||||
end
|
||||
catch
|
||||
Err:Reason:ST ->
|
||||
?INFO("maybe_restart_oracle_resources failed: ~p", [{Err, Reason, ST}]),
|
||||
ok
|
||||
end;
|
||||
do_when_vsn_lte(PatchVsn0, 14, ?FUNCTION_NAME, fun() ->
|
||||
emqx_rule_engine:start_all_resources_of_type(backend_oracle)
|
||||
end);
|
||||
maybe_restart_oracle_resources(_) ->
|
||||
ok.
|
||||
|
||||
|
@ -118,3 +111,30 @@ maybe_restart_oracle_resources(_) ->
|
|||
ok.
|
||||
|
||||
-endif.
|
||||
|
||||
-ifdef(EMQX_ENTERPRISE).
|
||||
maybe_start_schema_registry("4.4." ++ PatchVsn0) ->
|
||||
do_when_vsn_lte(PatchVsn0, 15, ?FUNCTION_NAME, fun() ->
|
||||
emqx_plugins:load(emqx_schema_registry)
|
||||
end);
|
||||
maybe_start_schema_registry(_) ->
|
||||
ok.
|
||||
-else.
|
||||
maybe_start_schema_registry(_) ->
|
||||
ok.
|
||||
-endif.
|
||||
|
||||
do_when_vsn_lte(SrcVsnStr, TargetVsn, ActionName, Action) ->
|
||||
try
|
||||
case list_to_integer(SrcVsnStr) of
|
||||
Vsn when Vsn =< TargetVsn ->
|
||||
?INFO("doing ~p", [ActionName]),
|
||||
_ = Action(),
|
||||
ok;
|
||||
_ -> ok
|
||||
end
|
||||
catch
|
||||
Err:Reason:ST ->
|
||||
?INFO("~p failed: ~p", [ActionName, {Err, Reason, ST}]),
|
||||
ok
|
||||
end.
|
||||
|
|
Loading…
Reference in New Issue