chore(mria): Bump version to 0.4.0

This commit is contained in:
ieQu1 2023-03-10 22:45:02 +01:00
parent 0403c3c195
commit e3595f2e79
51 changed files with 104 additions and 95 deletions

View File

@ -27,7 +27,7 @@
{jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.5"}}}, {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.5"}}},
{cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.0"}}}, {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.0"}}},
{esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.4"}}}, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.4"}}},
{ekka, {git, "https://github.com/emqx/ekka", {tag, "0.14.3"}}}, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.14.4"}}},
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}},
{hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.36.0"}}}, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.36.0"}}},
{pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}}, {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}},

View File

@ -211,7 +211,7 @@ handle_info({timeout, TRef, heartbeat}, State = #state{heartbeat = TRef}) ->
handle_info({timeout, TRef, tick}, State = #state{ticker = TRef, sysdescr = Descr}) -> handle_info({timeout, TRef, tick}, State = #state{ticker = TRef, sysdescr = Descr}) ->
publish_any(version, version()), publish_any(version, version()),
publish_any(sysdescr, Descr), publish_any(sysdescr, Descr),
publish_any(brokers, mria_mnesia:running_nodes()), publish_any(brokers, mria:running_nodes()),
publish_any(stats, emqx_stats:getstats()), publish_any(stats, emqx_stats:getstats()),
publish_any(metrics, emqx_metrics:all()), publish_any(metrics, emqx_metrics:all()),
{noreply, tick(State), hibernate}; {noreply, tick(State), hibernate};

View File

@ -303,7 +303,7 @@ resume(ClientInfo = #{clientid := ClientID}, ConnInfo, Session) ->
%% 3. Notify writers that we are resuming. %% 3. Notify writers that we are resuming.
%% They will buffer new messages. %% They will buffer new messages.
?tp(ps_notify_writers, #{sid => SessionID}), ?tp(ps_notify_writers, #{sid => SessionID}),
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
NodeMarkers = resume_begin(Nodes, SessionID), NodeMarkers = resume_begin(Nodes, SessionID),
?tp(ps_node_markers, #{sid => SessionID, markers => NodeMarkers}), ?tp(ps_node_markers, #{sid => SessionID, markers => NodeMarkers}),

View File

@ -30,7 +30,7 @@
emqx_metrics, emqx_metrics,
emqx_stats, emqx_stats,
emqx_broker, emqx_broker,
mria_mnesia, mria,
emqx_hooks, emqx_hooks,
emqx_config_handler emqx_config_handler
]). ]).
@ -109,8 +109,8 @@ do_mock(emqx_broker) ->
); );
do_mock(emqx_stats) -> do_mock(emqx_stats) ->
meck:expect(emqx_stats, getstats, fun() -> [0] end); meck:expect(emqx_stats, getstats, fun() -> [0] end);
do_mock(mria_mnesia) -> do_mock(mria) ->
meck:expect(mria_mnesia, running_nodes, fun() -> [node()] end); meck:expect(mria, running_nodes, fun() -> [node()] end);
do_mock(emqx_metrics) -> do_mock(emqx_metrics) ->
meck:expect(emqx_metrics, all, fun() -> [{hello, 3}] end); meck:expect(emqx_metrics, all, fun() -> [{hello, 3}] end);
do_mock(emqx_hooks) -> do_mock(emqx_hooks) ->

View File

@ -881,7 +881,7 @@ lookup_from_local_node(ChainName, AuthenticatorID) ->
end. end.
lookup_from_all_nodes(ChainName, AuthenticatorID) -> lookup_from_all_nodes(ChainName, AuthenticatorID) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
LookupResult = emqx_authn_proto_v1:lookup_from_all_nodes(Nodes, ChainName, AuthenticatorID), LookupResult = emqx_authn_proto_v1:lookup_from_all_nodes(Nodes, ChainName, AuthenticatorID),
case is_ok(LookupResult) of case is_ok(LookupResult) of
{ok, ResList} -> {ok, ResList} ->

View File

@ -356,7 +356,7 @@ lookup_from_local_node(Type) ->
end. end.
lookup_from_all_nodes(Type) -> lookup_from_all_nodes(Type) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case is_ok(emqx_authz_proto_v1:lookup_from_all_nodes(Nodes, Type)) of case is_ok(emqx_authz_proto_v1:lookup_from_all_nodes(Nodes, Type)) of
{ok, ResList} -> {ok, ResList} ->
{StatusMap, MetricsMap, ResourceMetricsMap, ErrorMap} = make_result_map(ResList), {StatusMap, MetricsMap, ResourceMetricsMap, ErrorMap} = make_result_map(ResList),

View File

@ -486,7 +486,7 @@ schema("/bridges_probe") ->
{200, {200,
zip_bridges([ zip_bridges([
[format_resp(Data, Node) || Data <- emqx_bridge_proto_v1:list_bridges(Node)] [format_resp(Data, Node) || Data <- emqx_bridge_proto_v1:list_bridges(Node)]
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
])}. ])}.
'/bridges/:id'(get, #{bindings := #{id := Id}}) -> '/bridges/:id'(get, #{bindings := #{id := Id}}) ->
@ -590,7 +590,7 @@ lookup_from_all_nodes_metrics(BridgeType, BridgeName, SuccCode) ->
do_lookup_from_all_nodes(BridgeType, BridgeName, SuccCode, FormatFun). do_lookup_from_all_nodes(BridgeType, BridgeName, SuccCode, FormatFun).
do_lookup_from_all_nodes(BridgeType, BridgeName, SuccCode, FormatFun) -> do_lookup_from_all_nodes(BridgeType, BridgeName, SuccCode, FormatFun) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case is_ok(emqx_bridge_proto_v1:lookup_from_all_nodes(Nodes, BridgeType, BridgeName)) of case is_ok(emqx_bridge_proto_v1:lookup_from_all_nodes(Nodes, BridgeType, BridgeName)) of
{ok, [{ok, _} | _] = Results} -> {ok, [{ok, _} | _] = Results} ->
{SuccCode, FormatFun([R || {ok, R} <- Results])}; {SuccCode, FormatFun([R || {ok, R} <- Results])};
@ -638,7 +638,7 @@ lookup_from_local_node(BridgeType, BridgeName) ->
invalid -> invalid ->
?NOT_FOUND(<<"Invalid operation: ", Op/binary>>); ?NOT_FOUND(<<"Invalid operation: ", Op/binary>>);
OperFunc -> OperFunc ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
call_operation(all, OperFunc, [Nodes, BridgeType, BridgeName]) call_operation(all, OperFunc, [Nodes, BridgeType, BridgeName])
end end
). ).

View File

@ -512,7 +512,7 @@ do_alarm(Fun, Res, #{tnx_id := Id} = Meta) ->
wait_for_all_nodes_commit(TnxId, Delay, Remain) -> wait_for_all_nodes_commit(TnxId, Delay, Remain) ->
Lagging = lagging_nodes(TnxId), Lagging = lagging_nodes(TnxId),
Stopped = Lagging -- mria_mnesia:running_nodes(), Stopped = Lagging -- mria:running_nodes(),
case Lagging -- Stopped of case Lagging -- Stopped of
[] when Stopped =:= [] -> [] when Stopped =:= [] ->
ok; ok;
@ -537,7 +537,7 @@ wait_for_nodes_commit(RequiredSyncs, TnxId, Delay, Remain) ->
[] -> [] ->
ok; ok;
Lagging -> Lagging ->
Stopped = Lagging -- mria_mnesia:running_nodes(), Stopped = Lagging -- mria:running_nodes(),
case Stopped of case Stopped of
[] -> {peers_lagging, Lagging}; [] -> {peers_lagging, Lagging};
_ -> {stopped_nodes, Stopped} _ -> {stopped_nodes, Stopped}

View File

@ -1,6 +1,6 @@
{application, emqx_conf, [ {application, emqx_conf, [
{description, "EMQX configuration management"}, {description, "EMQX configuration management"},
{vsn, "0.1.13"}, {vsn, "0.1.14"},
{registered, []}, {registered, []},
{mod, {emqx_conf_app, []}}, {mod, {emqx_conf_app, []}},
{applications, [kernel, stdlib, emqx_ctl]}, {applications, [kernel, stdlib, emqx_ctl]},

View File

@ -33,7 +33,7 @@ admins(["status"]) ->
status(); status();
admins(["skip"]) -> admins(["skip"]) ->
status(), status(),
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
lists:foreach(fun emqx_cluster_rpc:skip_failed_commit/1, Nodes), lists:foreach(fun emqx_cluster_rpc:skip_failed_commit/1, Nodes),
status(); status();
admins(["skip", Node0]) -> admins(["skip", Node0]) ->
@ -46,13 +46,13 @@ admins(["tnxid", TnxId0]) ->
emqx_ctl:print("~p~n", [emqx_cluster_rpc:query(TnxId)]); emqx_ctl:print("~p~n", [emqx_cluster_rpc:query(TnxId)]);
admins(["fast_forward"]) -> admins(["fast_forward"]) ->
status(), status(),
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
TnxId = emqx_cluster_rpc:latest_tnx_id(), TnxId = emqx_cluster_rpc:latest_tnx_id(),
lists:foreach(fun(N) -> emqx_cluster_rpc:fast_forward_to_commit(N, TnxId) end, Nodes), lists:foreach(fun(N) -> emqx_cluster_rpc:fast_forward_to_commit(N, TnxId) end, Nodes),
status(); status();
admins(["fast_forward", ToTnxId]) -> admins(["fast_forward", ToTnxId]) ->
status(), status(),
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
TnxId = list_to_integer(ToTnxId), TnxId = list_to_integer(ToTnxId),
lists:foreach(fun(N) -> emqx_cluster_rpc:fast_forward_to_commit(N, TnxId) end, Nodes), lists:foreach(fun(N) -> emqx_cluster_rpc:fast_forward_to_commit(N, TnxId) end, Nodes),
status(); status();

View File

@ -48,14 +48,14 @@ init_per_suite(Config) ->
meck:new(emqx_alarm, [non_strict, passthrough, no_link]), meck:new(emqx_alarm, [non_strict, passthrough, no_link]),
meck:expect(emqx_alarm, activate, 3, ok), meck:expect(emqx_alarm, activate, 3, ok),
meck:expect(emqx_alarm, deactivate, 3, ok), meck:expect(emqx_alarm, deactivate, 3, ok),
meck:new(mria_mnesia, [non_strict, passthrough, no_link]), meck:new(mria, [non_strict, passthrough, no_link]),
meck:expect(mria_mnesia, running_nodes, 0, [?NODE1, {node(), ?NODE2}, {node(), ?NODE3}]), meck:expect(mria, running_nodes, 0, [?NODE1, {node(), ?NODE2}, {node(), ?NODE3}]),
Config. Config.
end_per_suite(_Config) -> end_per_suite(_Config) ->
ekka:stop(), ekka:stop(),
mria:stop(), mria:stop(),
meck:unload(mria_mnesia), meck:unload(mria),
mria_mnesia:delete_schema(), mria_mnesia:delete_schema(),
meck:unload(emqx_alarm), meck:unload(emqx_alarm),
ok. ok.

View File

@ -2,7 +2,7 @@
{application, emqx_dashboard, [ {application, emqx_dashboard, [
{description, "EMQX Web Dashboard"}, {description, "EMQX Web Dashboard"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.14"}, {vsn, "5.0.15"},
{modules, []}, {modules, []},
{registered, [emqx_dashboard_sup]}, {registered, [emqx_dashboard_sup]},
{applications, [kernel, stdlib, mnesia, minirest, emqx, emqx_ctl]}, {applications, [kernel, stdlib, mnesia, minirest, emqx, emqx_ctl]},

View File

@ -126,7 +126,7 @@ current_rate() ->
(_Node, Error) -> (_Node, Error) ->
Error Error
end, end,
case lists:foldl(Fun, #{}, mria_mnesia:cluster_nodes(running)) of case lists:foldl(Fun, #{}, mria:cluster_nodes(running)) of
{badrpc, Reason} -> {badrpc, Reason} ->
{badrpc, Reason}; {badrpc, Reason};
Rate -> Rate ->
@ -205,7 +205,7 @@ do_call(Request) ->
gen_server:call(?MODULE, Request, 5000). gen_server:call(?MODULE, Request, 5000).
do_sample(all, Time) -> do_sample(all, Time) ->
do_sample(mria_mnesia:cluster_nodes(running), Time, #{}); do_sample(mria:cluster_nodes(running), Time, #{});
do_sample(Node, Time) when Node == node() -> do_sample(Node, Time) when Node == node() ->
MS = match_spec(Time), MS = match_spec(Time),
internal_format(ets:select(?TAB, MS)); internal_format(ets:select(?TAB, MS));

View File

@ -1,7 +1,7 @@
%% -*- mode: erlang -*- %% -*- mode: erlang -*-
{application, emqx_exhook, [ {application, emqx_exhook, [
{description, "EMQX Extension for Hook"}, {description, "EMQX Extension for Hook"},
{vsn, "5.0.10"}, {vsn, "5.0.11"},
{modules, []}, {modules, []},
{registered, []}, {registered, []},
{mod, {emqx_exhook_app, []}}, {mod, {emqx_exhook_app, []}},

View File

@ -471,7 +471,7 @@ fill_server_hooks_info([], _Name, _Default, MetricsL) ->
-spec call_cluster(fun(([node()]) -> emqx_rpc:erpc_multicall(A))) -> -spec call_cluster(fun(([node()]) -> emqx_rpc:erpc_multicall(A))) ->
[{node(), A | {error, _Err}}]. [{node(), A | {error, _Err}}].
call_cluster(Fun) -> call_cluster(Fun) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
Ret = Fun(Nodes), Ret = Fun(Nodes),
lists:zip(Nodes, lists:map(fun emqx_rpc:unwrap_erpc/1, Ret)). lists:zip(Nodes, lists:map(fun emqx_rpc:unwrap_erpc/1, Ret)).

View File

@ -283,7 +283,7 @@ get_cluster_listeners_info(GwName) ->
). ).
listeners_cluster_status(Listeners) -> listeners_cluster_status(Listeners) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case emqx_gateway_api_listeners_proto_v1:listeners_cluster_status(Nodes, Listeners) of case emqx_gateway_api_listeners_proto_v1:listeners_cluster_status(Nodes, Listeners) of
{Results, []} -> {Results, []} ->
Results; Results;

View File

@ -214,7 +214,7 @@ get_chan_info(GwName, ClientId, ChanPid) ->
-spec lookup_by_clientid(gateway_name(), emqx_types:clientid()) -> [pid()]. -spec lookup_by_clientid(gateway_name(), emqx_types:clientid()) -> [pid()].
lookup_by_clientid(GwName, ClientId) -> lookup_by_clientid(GwName, ClientId) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case case
emqx_gateway_cm_proto_v1:lookup_by_clientid( emqx_gateway_cm_proto_v1:lookup_by_clientid(
Nodes, GwName, ClientId Nodes, GwName, ClientId

View File

@ -148,7 +148,7 @@ gateway_status(GwName) ->
end. end.
cluster_gateway_status(GwName) -> cluster_gateway_status(GwName) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case emqx_gateway_http_proto_v1:get_cluster_status(Nodes, GwName) of case emqx_gateway_http_proto_v1:get_cluster_status(Nodes, GwName) of
{Results, []} -> {Results, []} ->
Results; Results;

View File

@ -2,7 +2,7 @@
{application, emqx_management, [ {application, emqx_management, [
{description, "EMQX Management API and CLI"}, {description, "EMQX Management API and CLI"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.15"}, {vsn, "5.0.16"},
{modules, []}, {modules, []},
{registered, [emqx_management_sup]}, {registered, [emqx_management_sup]},
{applications, [kernel, stdlib, emqx_plugins, minirest, emqx, emqx_ctl]}, {applications, [kernel, stdlib, emqx_plugins, minirest, emqx, emqx_ctl]},

View File

@ -112,8 +112,8 @@
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
list_nodes() -> list_nodes() ->
Running = mria_mnesia:cluster_nodes(running), Running = mria:cluster_nodes(running),
Stopped = mria_mnesia:cluster_nodes(stopped), Stopped = mria:cluster_nodes(stopped),
DownNodes = lists:map(fun stopped_node_info/1, Stopped), DownNodes = lists:map(fun stopped_node_info/1, Stopped),
[{Node, Info} || #{node := Node} = Info <- node_info(Running)] ++ DownNodes. [{Node, Info} || #{node := Node} = Info <- node_info(Running)] ++ DownNodes.
@ -199,7 +199,7 @@ vm_stats() ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
list_brokers() -> list_brokers() ->
Running = mria_mnesia:running_nodes(), Running = mria:running_nodes(),
[{Node, Broker} || #{node := Node} = Broker <- broker_info(Running)]. [{Node, Broker} || #{node := Node} = Broker <- broker_info(Running)].
lookup_broker(Node) -> lookup_broker(Node) ->
@ -223,7 +223,7 @@ broker_info(Nodes) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
get_metrics() -> get_metrics() ->
nodes_info_count([get_metrics(Node) || Node <- mria_mnesia:running_nodes()]). nodes_info_count([get_metrics(Node) || Node <- mria:running_nodes()]).
get_metrics(Node) -> get_metrics(Node) ->
unwrap_rpc(emqx_proto_v1:get_metrics(Node)). unwrap_rpc(emqx_proto_v1:get_metrics(Node)).
@ -243,7 +243,7 @@ get_stats() ->
Stats = get_stats(Node), Stats = get_stats(Node),
delete_keys(Stats, GlobalStatsKeys) delete_keys(Stats, GlobalStatsKeys)
end end
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
]), ]),
GlobalStats = maps:with(GlobalStatsKeys, maps:from_list(get_stats(node()))), GlobalStats = maps:with(GlobalStatsKeys, maps:from_list(get_stats(node()))),
maps:merge(CountStats, GlobalStats). maps:merge(CountStats, GlobalStats).
@ -275,12 +275,12 @@ nodes_info_count(PropList) ->
lookup_client({clientid, ClientId}, FormatFun) -> lookup_client({clientid, ClientId}, FormatFun) ->
lists:append([ lists:append([
lookup_client(Node, {clientid, ClientId}, FormatFun) lookup_client(Node, {clientid, ClientId}, FormatFun)
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
]); ]);
lookup_client({username, Username}, FormatFun) -> lookup_client({username, Username}, FormatFun) ->
lists:append([ lists:append([
lookup_client(Node, {username, Username}, FormatFun) lookup_client(Node, {username, Username}, FormatFun)
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
]). ]).
lookup_client(Node, Key, FormatFun) -> lookup_client(Node, Key, FormatFun) ->
@ -307,7 +307,7 @@ kickout_client(ClientId) ->
[] -> [] ->
{error, not_found}; {error, not_found};
_ -> _ ->
Results = [kickout_client(Node, ClientId) || Node <- mria_mnesia:running_nodes()], Results = [kickout_client(Node, ClientId) || Node <- mria:running_nodes()],
check_results(Results) check_results(Results)
end. end.
@ -322,7 +322,7 @@ list_client_subscriptions(ClientId) ->
[] -> [] ->
{error, not_found}; {error, not_found};
_ -> _ ->
Results = [client_subscriptions(Node, ClientId) || Node <- mria_mnesia:running_nodes()], Results = [client_subscriptions(Node, ClientId) || Node <- mria:running_nodes()],
Filter = Filter =
fun fun
({error, _}) -> ({error, _}) ->
@ -340,18 +340,18 @@ client_subscriptions(Node, ClientId) ->
{Node, unwrap_rpc(emqx_broker_proto_v1:list_client_subscriptions(Node, ClientId))}. {Node, unwrap_rpc(emqx_broker_proto_v1:list_client_subscriptions(Node, ClientId))}.
clean_authz_cache(ClientId) -> clean_authz_cache(ClientId) ->
Results = [clean_authz_cache(Node, ClientId) || Node <- mria_mnesia:running_nodes()], Results = [clean_authz_cache(Node, ClientId) || Node <- mria:running_nodes()],
check_results(Results). check_results(Results).
clean_authz_cache(Node, ClientId) -> clean_authz_cache(Node, ClientId) ->
unwrap_rpc(emqx_proto_v1:clean_authz_cache(Node, ClientId)). unwrap_rpc(emqx_proto_v1:clean_authz_cache(Node, ClientId)).
clean_authz_cache_all() -> clean_authz_cache_all() ->
Results = [{Node, clean_authz_cache_all(Node)} || Node <- mria_mnesia:running_nodes()], Results = [{Node, clean_authz_cache_all(Node)} || Node <- mria:running_nodes()],
wrap_results(Results). wrap_results(Results).
clean_pem_cache_all() -> clean_pem_cache_all() ->
Results = [{Node, clean_pem_cache_all(Node)} || Node <- mria_mnesia:running_nodes()], Results = [{Node, clean_pem_cache_all(Node)} || Node <- mria:running_nodes()],
wrap_results(Results). wrap_results(Results).
wrap_results(Results) -> wrap_results(Results) ->
@ -379,7 +379,7 @@ set_keepalive(_ClientId, _Interval) ->
%% @private %% @private
call_client(ClientId, Req) -> call_client(ClientId, Req) ->
Results = [call_client(Node, ClientId, Req) || Node <- mria_mnesia:running_nodes()], Results = [call_client(Node, ClientId, Req) || Node <- mria:running_nodes()],
Expected = lists:filter( Expected = lists:filter(
fun fun
({error, _}) -> false; ({error, _}) -> false;
@ -428,7 +428,7 @@ list_subscriptions(Node) ->
list_subscriptions_via_topic(Topic, FormatFun) -> list_subscriptions_via_topic(Topic, FormatFun) ->
lists:append([ lists:append([
list_subscriptions_via_topic(Node, Topic, FormatFun) list_subscriptions_via_topic(Node, Topic, FormatFun)
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
]). ]).
list_subscriptions_via_topic(Node, Topic, _FormatFun = {M, F}) -> list_subscriptions_via_topic(Node, Topic, _FormatFun = {M, F}) ->
@ -442,7 +442,7 @@ list_subscriptions_via_topic(Node, Topic, _FormatFun = {M, F}) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
subscribe(ClientId, TopicTables) -> subscribe(ClientId, TopicTables) ->
subscribe(mria_mnesia:running_nodes(), ClientId, TopicTables). subscribe(mria:running_nodes(), ClientId, TopicTables).
subscribe([Node | Nodes], ClientId, TopicTables) -> subscribe([Node | Nodes], ClientId, TopicTables) ->
case unwrap_rpc(emqx_management_proto_v3:subscribe(Node, ClientId, TopicTables)) of case unwrap_rpc(emqx_management_proto_v3:subscribe(Node, ClientId, TopicTables)) of
@ -467,7 +467,7 @@ publish(Msg) ->
-spec unsubscribe(emqx_types:clientid(), emqx_types:topic()) -> -spec unsubscribe(emqx_types:clientid(), emqx_types:topic()) ->
{unsubscribe, _} | {error, channel_not_found}. {unsubscribe, _} | {error, channel_not_found}.
unsubscribe(ClientId, Topic) -> unsubscribe(ClientId, Topic) ->
unsubscribe(mria_mnesia:running_nodes(), ClientId, Topic). unsubscribe(mria:running_nodes(), ClientId, Topic).
-spec unsubscribe([node()], emqx_types:clientid(), emqx_types:topic()) -> -spec unsubscribe([node()], emqx_types:clientid(), emqx_types:topic()) ->
{unsubscribe, _} | {error, channel_not_found}. {unsubscribe, _} | {error, channel_not_found}.
@ -490,7 +490,7 @@ do_unsubscribe(ClientId, Topic) ->
-spec unsubscribe_batch(emqx_types:clientid(), [emqx_types:topic()]) -> -spec unsubscribe_batch(emqx_types:clientid(), [emqx_types:topic()]) ->
{unsubscribe, _} | {error, channel_not_found}. {unsubscribe, _} | {error, channel_not_found}.
unsubscribe_batch(ClientId, Topics) -> unsubscribe_batch(ClientId, Topics) ->
unsubscribe_batch(mria_mnesia:running_nodes(), ClientId, Topics). unsubscribe_batch(mria:running_nodes(), ClientId, Topics).
-spec unsubscribe_batch([node()], emqx_types:clientid(), [emqx_types:topic()]) -> -spec unsubscribe_batch([node()], emqx_types:clientid(), [emqx_types:topic()]) ->
{unsubscribe_batch, _} | {error, channel_not_found}. {unsubscribe_batch, _} | {error, channel_not_found}.
@ -515,7 +515,7 @@ do_unsubscribe_batch(ClientId, Topics) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
get_alarms(Type) -> get_alarms(Type) ->
[{Node, get_alarms(Node, Type)} || Node <- mria_mnesia:running_nodes()]. [{Node, get_alarms(Node, Type)} || Node <- mria:running_nodes()].
get_alarms(Node, Type) -> get_alarms(Node, Type) ->
add_duration_field(unwrap_rpc(emqx_proto_v1:get_alarms(Node, Type))). add_duration_field(unwrap_rpc(emqx_proto_v1:get_alarms(Node, Type))).
@ -524,7 +524,7 @@ deactivate(Node, Name) ->
unwrap_rpc(emqx_proto_v1:deactivate_alarm(Node, Name)). unwrap_rpc(emqx_proto_v1:deactivate_alarm(Node, Name)).
delete_all_deactivated_alarms() -> delete_all_deactivated_alarms() ->
[delete_all_deactivated_alarms(Node) || Node <- mria_mnesia:running_nodes()]. [delete_all_deactivated_alarms(Node) || Node <- mria:running_nodes()].
delete_all_deactivated_alarms(Node) -> delete_all_deactivated_alarms(Node) ->
unwrap_rpc(emqx_proto_v1:delete_all_deactivated_alarms(Node)). unwrap_rpc(emqx_proto_v1:delete_all_deactivated_alarms(Node)).

View File

@ -163,7 +163,7 @@ cluster_query(Tab, QString, QSchema, MsFun, FmtFun) ->
{error, page_limit_invalid}; {error, page_limit_invalid};
Meta -> Meta ->
{_CodCnt, NQString} = parse_qstring(QString, QSchema), {_CodCnt, NQString} = parse_qstring(QString, QSchema),
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
ResultAcc = init_query_result(), ResultAcc = init_query_result(),
QueryState = init_query_state(Tab, NQString, MsFun, Meta), QueryState = init_query_state(Tab, NQString, MsFun, Meta),
NResultAcc = do_cluster_query( NResultAcc = do_cluster_query(

View File

@ -101,7 +101,7 @@ cluster_info(get, _) ->
ClusterName = application:get_env(ekka, cluster_name, emqxcl), ClusterName = application:get_env(ekka, cluster_name, emqxcl),
Info = #{ Info = #{
name => ClusterName, name => ClusterName,
nodes => mria_mnesia:running_nodes(), nodes => mria:running_nodes(),
self => node() self => node()
}, },
{200, Info}. {200, Info}.

View File

@ -279,7 +279,7 @@ configs(get, Params, _Req) ->
QS = maps:get(query_string, Params, #{}), QS = maps:get(query_string, Params, #{}),
Node = maps:get(<<"node">>, QS, node()), Node = maps:get(<<"node">>, QS, node()),
case case
lists:member(Node, mria_mnesia:running_nodes()) andalso lists:member(Node, mria:running_nodes()) andalso
emqx_management_proto_v2:get_full_config(Node) emqx_management_proto_v2:get_full_config(Node)
of of
false -> false ->

View File

@ -483,7 +483,7 @@ err_msg_str(Reason) ->
io_lib:format("~p", [Reason]). io_lib:format("~p", [Reason]).
list_listeners() -> list_listeners() ->
[list_listeners(Node) || Node <- mria_mnesia:running_nodes()]. [list_listeners(Node) || Node <- mria:running_nodes()].
list_listeners(Node) -> list_listeners(Node) ->
wrap_rpc(emqx_management_proto_v2:list_listeners(Node)). wrap_rpc(emqx_management_proto_v2:list_listeners(Node)).

View File

@ -59,7 +59,7 @@ metrics(get, #{query_string := Qs}) ->
maps:from_list( maps:from_list(
emqx_mgmt:get_metrics(Node) ++ [{node, Node}] emqx_mgmt:get_metrics(Node) ++ [{node, Node}]
) )
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
], ],
{200, Data} {200, Data}
end. end.

View File

@ -129,7 +129,7 @@ list(get, #{query_string := Qs}) ->
_ -> _ ->
Data = [ Data = [
maps:from_list(emqx_mgmt:get_stats(Node) ++ [{node, Node}]) maps:from_list(emqx_mgmt:get_stats(Node) ++ [{node, Node}])
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
], ],
{200, Data} {200, Data}
end. end.

View File

@ -376,7 +376,7 @@ trace(get, _Params) ->
fun(#{start_at := A}, #{start_at := B}) -> A > B end, fun(#{start_at := A}, #{start_at := B}) -> A > B end,
emqx_trace:format(List0) emqx_trace:format(List0)
), ),
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
TraceSize = wrap_rpc(emqx_mgmt_trace_proto_v2:get_trace_size(Nodes)), TraceSize = wrap_rpc(emqx_mgmt_trace_proto_v2:get_trace_size(Nodes)),
AllFileSize = lists:foldl(fun(F, Acc) -> maps:merge(Acc, F) end, #{}, TraceSize), AllFileSize = lists:foldl(fun(F, Acc) -> maps:merge(Acc, F) end, #{}, TraceSize),
Now = erlang:system_time(second), Now = erlang:system_time(second),
@ -445,7 +445,7 @@ format_trace(Trace0) ->
LogSize = lists:foldl( LogSize = lists:foldl(
fun(Node, Acc) -> Acc#{Node => 0} end, fun(Node, Acc) -> Acc#{Node => 0} end,
#{}, #{},
mria_mnesia:running_nodes() mria:running_nodes()
), ),
Trace2 = maps:without([enable, filter], Trace1), Trace2 = maps:without([enable, filter], Trace1),
Trace2#{ Trace2#{
@ -541,13 +541,13 @@ group_trace_file(ZipDir, TraceLog, TraceFiles) ->
). ).
collect_trace_file(undefined, TraceLog) -> collect_trace_file(undefined, TraceLog) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
wrap_rpc(emqx_mgmt_trace_proto_v2:trace_file(Nodes, TraceLog)); wrap_rpc(emqx_mgmt_trace_proto_v2:trace_file(Nodes, TraceLog));
collect_trace_file(Node, TraceLog) -> collect_trace_file(Node, TraceLog) ->
wrap_rpc(emqx_mgmt_trace_proto_v2:trace_file([Node], TraceLog)). wrap_rpc(emqx_mgmt_trace_proto_v2:trace_file([Node], TraceLog)).
collect_trace_file_detail(TraceLog) -> collect_trace_file_detail(TraceLog) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
wrap_rpc(emqx_mgmt_trace_proto_v2:trace_file_detail(Nodes, TraceLog)). wrap_rpc(emqx_mgmt_trace_proto_v2:trace_file_detail(Nodes, TraceLog)).
wrap_rpc({GoodRes, BadNodes}) -> wrap_rpc({GoodRes, BadNodes}) ->
@ -677,7 +677,7 @@ parse_node(Query, Default) ->
{ok, Default}; {ok, Default};
{ok, NodeBin} -> {ok, NodeBin} ->
Node = binary_to_existing_atom(NodeBin), Node = binary_to_existing_atom(NodeBin),
true = lists:member(Node, mria_mnesia:running_nodes()), true = lists:member(Node, mria:running_nodes()),
{ok, Node} {ok, Node}
end end
catch catch

View File

@ -36,16 +36,16 @@ end_per_suite(_) ->
emqx_mgmt_api_test_util:end_suite([emqx_management, emqx_conf]). emqx_mgmt_api_test_util:end_suite([emqx_management, emqx_conf]).
init_per_testcase(TestCase, Config) -> init_per_testcase(TestCase, Config) ->
meck:expect(mria_mnesia, running_nodes, 0, [node()]), meck:expect(mria, running_nodes, 0, [node()]),
emqx_common_test_helpers:init_per_testcase(?MODULE, TestCase, Config). emqx_common_test_helpers:init_per_testcase(?MODULE, TestCase, Config).
end_per_testcase(TestCase, Config) -> end_per_testcase(TestCase, Config) ->
meck:unload(mria_mnesia), meck:unload(mria),
emqx_common_test_helpers:end_per_testcase(?MODULE, TestCase, Config). emqx_common_test_helpers:end_per_testcase(?MODULE, TestCase, Config).
t_list_nodes(init, Config) -> t_list_nodes(init, Config) ->
meck:expect( meck:expect(
mria_mnesia, mria,
cluster_nodes, cluster_nodes,
fun fun
(running) -> [node()]; (running) -> [node()];
@ -125,7 +125,7 @@ t_lookup_client(_Config) ->
emqx_mgmt:lookup_client({username, <<"user1">>}, ?FORMATFUN) emqx_mgmt:lookup_client({username, <<"user1">>}, ?FORMATFUN)
), ),
?assertEqual([], emqx_mgmt:lookup_client({clientid, <<"notfound">>}, ?FORMATFUN)), ?assertEqual([], emqx_mgmt:lookup_client({clientid, <<"notfound">>}, ?FORMATFUN)),
meck:expect(mria_mnesia, running_nodes, 0, [node(), 'fake@nonode']), meck:expect(mria, running_nodes, 0, [node(), 'fake@nonode']),
?assertMatch( ?assertMatch(
[_ | {error, nodedown}], emqx_mgmt:lookup_client({clientid, <<"client1">>}, ?FORMATFUN) [_ | {error, nodedown}], emqx_mgmt:lookup_client({clientid, <<"client1">>}, ?FORMATFUN)
). ).
@ -188,7 +188,7 @@ t_clean_cache(_Config) ->
{error, _}, {error, _},
emqx_mgmt:clean_pem_cache_all() emqx_mgmt:clean_pem_cache_all()
), ),
meck:expect(mria_mnesia, running_nodes, 0, [node(), 'fake@nonode']), meck:expect(mria, running_nodes, 0, [node(), 'fake@nonode']),
?assertMatch( ?assertMatch(
{error, [{'fake@nonode', {error, _}}]}, {error, [{'fake@nonode', {error, _}}]},
emqx_mgmt:clean_authz_cache_all() emqx_mgmt:clean_authz_cache_all()

View File

@ -179,14 +179,14 @@ t_bad_rpc(_) ->
ClientLs1 = [start_emqtt_client(node(), I, 1883) || I <- lists:seq(1, 10)], ClientLs1 = [start_emqtt_client(node(), I, 1883) || I <- lists:seq(1, 10)],
Path = emqx_mgmt_api_test_util:api_path(["clients?limit=2&page=2"]), Path = emqx_mgmt_api_test_util:api_path(["clients?limit=2&page=2"]),
try try
meck:expect(mria_mnesia, running_nodes, 0, ['fake@nohost']), meck:expect(mria, running_nodes, 0, ['fake@nohost']),
{error, {_, 500, _}} = emqx_mgmt_api_test_util:request_api(get, Path), {error, {_, 500, _}} = emqx_mgmt_api_test_util:request_api(get, Path),
%% good cop, bad cop %% good cop, bad cop
meck:expect(mria_mnesia, running_nodes, 0, [node(), 'fake@nohost']), meck:expect(mria, running_nodes, 0, [node(), 'fake@nohost']),
{error, {_, 500, _}} = emqx_mgmt_api_test_util:request_api(get, Path) {error, {_, 500, _}} = emqx_mgmt_api_test_util:request_api(get, Path)
after after
_ = lists:foreach(fun(C) -> emqtt:disconnect(C) end, ClientLs1), _ = lists:foreach(fun(C) -> emqtt:disconnect(C) end, ClientLs1),
meck:unload(mria_mnesia), meck:unload(mria),
emqx_mgmt_api_test_util:end_suite() emqx_mgmt_api_test_util:end_suite()
end. end.

View File

@ -212,7 +212,7 @@ t_dashboard(_Config) ->
t_configs_node({'init', Config}) -> t_configs_node({'init', Config}) ->
Node = node(), Node = node(),
meck:expect(mria_mnesia, running_nodes, fun() -> [Node, bad_node, other_node] end), meck:expect(mria, running_nodes, fun() -> [Node, bad_node, other_node] end),
meck:expect( meck:expect(
emqx_management_proto_v2, emqx_management_proto_v2,
get_full_config, get_full_config,
@ -224,7 +224,7 @@ t_configs_node({'init', Config}) ->
), ),
Config; Config;
t_configs_node({'end', _}) -> t_configs_node({'end', _}) ->
meck:unload([mria_mnesia, emqx_management_proto_v2]); meck:unload([mria, emqx_management_proto_v2]);
t_configs_node(_) -> t_configs_node(_) ->
Node = atom_to_list(node()), Node = atom_to_list(node()),

View File

@ -168,8 +168,8 @@ t_api_listeners_list_not_ready(Config) when is_list(Config) ->
L3 = get_tcp_listeners(Node2), L3 = get_tcp_listeners(Node2),
Comment = #{ Comment = #{
node1 => rpc:call(Node1, mria_mnesia, running_nodes, []), node1 => rpc:call(Node1, mria, running_nodes, []),
node2 => rpc:call(Node2, mria_mnesia, running_nodes, []) node2 => rpc:call(Node2, mria, running_nodes, [])
}, },
?assert(length(L1) > length(L2), Comment), ?assert(length(L1) > length(L2), Comment),

View File

@ -1,7 +1,7 @@
%% -*- mode: erlang -*- %% -*- mode: erlang -*-
{application, emqx_modules, [ {application, emqx_modules, [
{description, "EMQX Modules"}, {description, "EMQX Modules"},
{vsn, "5.0.10"}, {vsn, "5.0.11"},
{modules, []}, {modules, []},
{applications, [kernel, stdlib, emqx, emqx_ctl]}, {applications, [kernel, stdlib, emqx, emqx_ctl]},
{mod, {emqx_modules_app, []}}, {mod, {emqx_modules_app, []}},

View File

@ -266,7 +266,7 @@ uptime() ->
element(1, erlang:statistics(wall_clock)). element(1, erlang:statistics(wall_clock)).
nodes_uuid() -> nodes_uuid() ->
Nodes = lists:delete(node(), mria_mnesia:running_nodes()), Nodes = lists:delete(node(), mria:running_nodes()),
lists:foldl( lists:foldl(
fun(Node, Acc) -> fun(Node, Acc) ->
case emqx_telemetry_proto_v1:get_node_uuid(Node) of case emqx_telemetry_proto_v1:get_node_uuid(Node) of

View File

@ -321,7 +321,7 @@ operate_topic_metrics(delete, #{bindings := #{topic := Topic}}) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
cluster_accumulation_metrics() -> cluster_accumulation_metrics() ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case emqx_topic_metrics_proto_v1:metrics(Nodes) of case emqx_topic_metrics_proto_v1:metrics(Nodes) of
{SuccResList, []} -> {SuccResList, []} ->
{ok, accumulate_nodes_metrics(SuccResList)}; {ok, accumulate_nodes_metrics(SuccResList)};
@ -330,7 +330,7 @@ cluster_accumulation_metrics() ->
end. end.
cluster_accumulation_metrics(Topic) -> cluster_accumulation_metrics(Topic) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case emqx_topic_metrics_proto_v1:metrics(Nodes, Topic) of case emqx_topic_metrics_proto_v1:metrics(Nodes, Topic) of
{SuccResList, []} -> {SuccResList, []} ->
case case
@ -422,12 +422,12 @@ do_accumulation_metrics(MetricsIn, {MetricsAcc, _}) ->
). ).
reset() -> reset() ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
_ = emqx_topic_metrics_proto_v1:reset(Nodes), _ = emqx_topic_metrics_proto_v1:reset(Nodes),
ok. ok.
reset(Topic) -> reset(Topic) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case emqx_topic_metrics_proto_v1:reset(Nodes, Topic) of case emqx_topic_metrics_proto_v1:reset(Nodes, Topic) of
{SuccResList, []} -> {SuccResList, []} ->
case case

View File

@ -856,7 +856,7 @@ stop_slave(Node) ->
%emqx_cluster_rpc:fast_forward_to_commit(Node, 100), %emqx_cluster_rpc:fast_forward_to_commit(Node, 100),
rpc:call(Node, ?MODULE, leave_cluster, []), rpc:call(Node, ?MODULE, leave_cluster, []),
ok = slave:stop(Node), ok = slave:stop(Node),
?assertEqual([node()], mria_mnesia:running_nodes()), ?assertEqual([node()], mria:running_nodes()),
?assertEqual([], nodes()), ?assertEqual([], nodes()),
_ = application:stop(mria), _ = application:stop(mria),
ok = application:start(mria). ok = application:start(mria).

View File

@ -2,7 +2,7 @@
{application, emqx_prometheus, [ {application, emqx_prometheus, [
{description, "Prometheus for EMQX"}, {description, "Prometheus for EMQX"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.6"}, {vsn, "5.0.7"},
{modules, []}, {modules, []},
{registered, [emqx_prometheus_sup]}, {registered, [emqx_prometheus_sup]},
{applications, [kernel, stdlib, prometheus, emqx, emqx_management]}, {applications, [kernel, stdlib, prometheus, emqx, emqx_management]},

View File

@ -599,7 +599,8 @@ emqx_cluster() ->
]. ].
emqx_cluster_data() -> emqx_cluster_data() ->
#{running_nodes := Running, stopped_nodes := Stopped} = mria_mnesia:cluster_info(), Running = mria:cluster_nodes(running),
Stopped = mria:cluster_nodes(stopped),
[ [
{nodes_running, length(Running)}, {nodes_running, length(Running)},
{nodes_stopped, length(Stopped)} {nodes_stopped, length(Stopped)}

View File

@ -2,7 +2,7 @@
{application, emqx_retainer, [ {application, emqx_retainer, [
{description, "EMQX Retainer"}, {description, "EMQX Retainer"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.10"}, {vsn, "5.0.11"},
{modules, []}, {modules, []},
{registered, [emqx_retainer_sup]}, {registered, [emqx_retainer_sup]},
{applications, [kernel, stdlib, emqx, emqx_ctl]}, {applications, [kernel, stdlib, emqx, emqx_ctl]},

View File

@ -626,7 +626,7 @@ do_reindex_batch(QC, Done) ->
{Status, Done + length(Topics)}. {Status, Done + length(Topics)}.
wait_dispatch_complete(Timeout) -> wait_dispatch_complete(Timeout) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
{Results, []} = emqx_retainer_proto_v2:wait_dispatch_complete(Nodes, Timeout), {Results, []} = emqx_retainer_proto_v2:wait_dispatch_complete(Nodes, Timeout),
lists:all( lists:all(
fun(Result) -> Result =:= ok end, fun(Result) -> Result =:= ok end,
@ -649,7 +649,7 @@ active_indices() ->
{dirty_indices(read), dirty_indices(write)}. {dirty_indices(read), dirty_indices(write)}.
are_indices_updated(Indices) -> are_indices_updated(Indices) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
case emqx_retainer_proto_v2:active_mnesia_indices(Nodes) of case emqx_retainer_proto_v2:active_mnesia_indices(Nodes) of
{Results, []} -> {Results, []} ->
lists:all( lists:all(

View File

@ -2,7 +2,7 @@
{application, emqx_rule_engine, [ {application, emqx_rule_engine, [
{description, "EMQX Rule Engine"}, {description, "EMQX Rule Engine"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.10"}, {vsn, "5.0.11"},
{modules, []}, {modules, []},
{registered, [emqx_rule_engine_sup, emqx_rule_engine]}, {registered, [emqx_rule_engine_sup, emqx_rule_engine]},
{applications, [kernel, stdlib, rulesql, getopt, emqx_ctl]}, {applications, [kernel, stdlib, rulesql, getopt, emqx_ctl]},

View File

@ -529,7 +529,7 @@ get_rule_metrics(Id) ->
end, end,
[ [
Format(Node, emqx_plugin_libs_proto_v1:get_metrics(Node, rule_metrics, Id)) Format(Node, emqx_plugin_libs_proto_v1:get_metrics(Node, rule_metrics, Id))
|| Node <- mria_mnesia:running_nodes() || Node <- mria:running_nodes()
]. ].
aggregate_metrics(AllMetrics) -> aggregate_metrics(AllMetrics) ->

View File

@ -1,7 +1,7 @@
{application, emqx_slow_subs, [ {application, emqx_slow_subs, [
{description, "EMQX Slow Subscribers Statistics"}, {description, "EMQX Slow Subscribers Statistics"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "1.0.3"}, {vsn, "1.0.4"},
{modules, []}, {modules, []},
{registered, [emqx_slow_subs_sup]}, {registered, [emqx_slow_subs_sup]},
{applications, [kernel, stdlib, emqx]}, {applications, [kernel, stdlib, emqx]},

View File

@ -147,5 +147,5 @@ settings(put, #{body := Body}) ->
end. end.
rpc_call(Fun) -> rpc_call(Fun) ->
Nodes = mria_mnesia:running_nodes(), Nodes = mria:running_nodes(),
Fun(Nodes). Fun(Nodes).

View File

@ -1,7 +1,7 @@
%% -*- mode: erlang -*- %% -*- mode: erlang -*-
{application, emqx_statsd, [ {application, emqx_statsd, [
{description, "EMQX Statsd"}, {description, "EMQX Statsd"},
{vsn, "5.0.6"}, {vsn, "5.0.7"},
{registered, []}, {registered, []},
{mod, {emqx_statsd_app, []}}, {mod, {emqx_statsd_app, []}},
{applications, [ {applications, [

View File

@ -53,9 +53,9 @@
-define(SAMPLE_TIMEOUT, sample_timeout). -define(SAMPLE_TIMEOUT, sample_timeout).
%% Remove after 5.1.x %% Remove after 5.1.x
start() -> check_multicall_result(emqx_statsd_proto_v1:start(mria_mnesia:running_nodes())). start() -> check_multicall_result(emqx_statsd_proto_v1:start(mria:running_nodes())).
stop() -> check_multicall_result(emqx_statsd_proto_v1:stop(mria_mnesia:running_nodes())). stop() -> check_multicall_result(emqx_statsd_proto_v1:stop(mria:running_nodes())).
restart() -> check_multicall_result(emqx_statsd_proto_v1:restart(mria_mnesia:running_nodes())). restart() -> check_multicall_result(emqx_statsd_proto_v1:restart(mria:running_nodes())).
do_start() -> do_start() ->
emqx_statsd_sup:ensure_child_started(?APP). emqx_statsd_sup:ensure_child_started(?APP).

View File

@ -0,0 +1,4 @@
Fix problems related to manual joining of EMQX replicant nodes to the cluster.
Previously, manually joining and then leaving the cluster rendered replicant node unable to start EMQX again and required a node restart.
[Mria PR](https://github.com/emqx/mria/pull/128)

View File

@ -0,0 +1,4 @@
修复与手动加入 EMQX `replicant` 节点到集群有关的问题。
以前,手动加入然后离开集群会使 `replicant` 节点无法再次启动 EMQX需要重新启动节点。
[Mria PR](https://github.com/emqx/mria/pull/128)

View File

@ -1,6 +1,6 @@
{application, emqx_license, [ {application, emqx_license, [
{description, "EMQX License"}, {description, "EMQX License"},
{vsn, "5.0.6"}, {vsn, "5.0.7"},
{modules, []}, {modules, []},
{registered, [emqx_license_sup]}, {registered, [emqx_license_sup]},
{applications, [kernel, stdlib, emqx_ctl]}, {applications, [kernel, stdlib, emqx_ctl]},

View File

@ -127,7 +127,7 @@ ensure_timer(#{check_peer_interval := CheckInterval} = State) ->
State#{timer => erlang:send_after(CheckInterval, self(), update_resources)}. State#{timer => erlang:send_after(CheckInterval, self(), update_resources)}.
remote_connection_count() -> remote_connection_count() ->
Nodes = mria_mnesia:running_nodes() -- [node()], Nodes = mria:running_nodes() -- [node()],
Results = emqx_license_proto_v2:remote_connection_counts(Nodes), Results = emqx_license_proto_v2:remote_connection_counts(Nodes),
Counts = [Count || {ok, Count} <- Results], Counts = [Count || {ok, Count} <- Results],
lists:sum(Counts). lists:sum(Counts).

View File

@ -54,7 +54,7 @@ defmodule EMQXUmbrella.MixProject do
{:cowboy, github: "emqx/cowboy", tag: "2.9.0", override: true}, {:cowboy, github: "emqx/cowboy", tag: "2.9.0", override: true},
{:esockd, github: "emqx/esockd", tag: "5.9.4", override: true}, {:esockd, github: "emqx/esockd", tag: "5.9.4", override: true},
{:rocksdb, github: "emqx/erlang-rocksdb", tag: "1.7.2-emqx-9", override: true}, {:rocksdb, github: "emqx/erlang-rocksdb", tag: "1.7.2-emqx-9", override: true},
{:ekka, github: "emqx/ekka", tag: "0.14.3", override: true}, {:ekka, github: "emqx/ekka", tag: "0.14.4", override: true},
{:gen_rpc, github: "emqx/gen_rpc", tag: "2.8.1", override: true}, {:gen_rpc, github: "emqx/gen_rpc", tag: "2.8.1", override: true},
{:grpc, github: "emqx/grpc-erl", tag: "0.6.7", override: true}, {:grpc, github: "emqx/grpc-erl", tag: "0.6.7", override: true},
{:minirest, github: "emqx/minirest", tag: "1.3.8", override: true}, {:minirest, github: "emqx/minirest", tag: "1.3.8", override: true},

View File

@ -56,7 +56,7 @@
, {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.0"}}} , {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.0"}}}
, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.4"}}} , {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.4"}}}
, {rocksdb, {git, "https://github.com/emqx/erlang-rocksdb", {tag, "1.7.2-emqx-9"}}} , {rocksdb, {git, "https://github.com/emqx/erlang-rocksdb", {tag, "1.7.2-emqx-9"}}}
, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.14.3"}}} , {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.14.4"}}}
, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}} , {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}}
, {grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.7"}}} , {grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.7"}}}
, {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.3.8"}}} , {minirest, {git, "https://github.com/emqx/minirest", {tag, "1.3.8"}}}