From d369e3167bdd504a33765ff23ab450acc1d88aea Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Tue, 28 Feb 2023 21:20:25 +0100 Subject: [PATCH 1/4] fix(emqx_mgmt): format stoped nodes correctly --- apps/emqx_management/src/emqx_mgmt.erl | 21 ++++++++++++++- .../src/emqx_mgmt_api_nodes.erl | 27 +++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/apps/emqx_management/src/emqx_mgmt.erl b/apps/emqx_management/src/emqx_mgmt.erl index efa5a03bd..82a8b94f8 100644 --- a/apps/emqx_management/src/emqx_mgmt.erl +++ b/apps/emqx_management/src/emqx_mgmt.erl @@ -141,9 +141,28 @@ node_info() -> uptime => proplists:get_value(uptime, BrokerInfo), version => iolist_to_binary(proplists:get_value(version, BrokerInfo)), edition => emqx_release:edition_longstr(), - role => mria_rlog:role() + role => mria_rlog:role(), + log_path => log_path(), + sys_path => iolist_to_binary(code:root_dir()) }. +log_path() -> + RootDir = code:root_dir(), + Configs = logger:get_handler_config(), + case get_log_path(Configs) of + undefined -> + <<"log.file_handler.default.enable is false, not logging to file.">>; + Path -> + filename:join(RootDir, Path) + end. + +get_log_path([#{config := #{file := Path}} | _LoggerConfigs]) -> + filename:dirname(Path); +get_log_path([_LoggerConfig | LoggerConfigs]) -> + get_log_path(LoggerConfigs); +get_log_path([]) -> + undefined. + get_sys_memory() -> case os:type() of {unix, linux} -> diff --git a/apps/emqx_management/src/emqx_mgmt_api_nodes.erl b/apps/emqx_management/src/emqx_mgmt_api_nodes.erl index cb8d37609..21d905331 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_nodes.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_nodes.erl @@ -293,31 +293,12 @@ get_stats(Node) -> %% internal function format(_Node, Info = #{memory_total := Total, memory_used := Used}) -> - RootDir = list_to_binary(code:root_dir()), - LogPath = - case log_path() of - undefined -> - <<"log.file_handler.default.enable is false,only log to console">>; - Path -> - filename:join(RootDir, Path) - end, Info#{ memory_total := emqx_mgmt_util:kmg(Total), - memory_used := emqx_mgmt_util:kmg(Used), - sys_path => RootDir, - log_path => LogPath - }. - -log_path() -> - Configs = logger:get_handler_config(), - get_log_path(Configs). - -get_log_path([#{config := #{file := Path}} | _LoggerConfigs]) -> - filename:dirname(Path); -get_log_path([_LoggerConfig | LoggerConfigs]) -> - get_log_path(LoggerConfigs); -get_log_path([]) -> - undefined. + memory_used := emqx_mgmt_util:kmg(Used) + }; +format(_Node, Info) when is_map(Info) -> + Info. node_error() -> emqx_dashboard_swagger:error_codes([?SOURCE_ERROR], <<"Node error">>). From 8331c8fff0c6d754df303be487bf92d037519474 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Tue, 28 Feb 2023 21:40:48 +0100 Subject: [PATCH 2/4] docs: add changelogs --- changes/ce/fix-10044.en.md | 1 + changes/ce/fix-10044.zh.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 changes/ce/fix-10044.en.md create mode 100644 changes/ce/fix-10044.zh.md diff --git a/changes/ce/fix-10044.en.md b/changes/ce/fix-10044.en.md new file mode 100644 index 000000000..4837d8ecc --- /dev/null +++ b/changes/ce/fix-10044.en.md @@ -0,0 +1 @@ +Fix node information formatter for stopped nodes in the cluster. diff --git a/changes/ce/fix-10044.zh.md b/changes/ce/fix-10044.zh.md new file mode 100644 index 000000000..29de963f1 --- /dev/null +++ b/changes/ce/fix-10044.zh.md @@ -0,0 +1 @@ +修复 v5.0.18 引入的一个节点信息序列化是发生的错误。 From 469071df00318eaa8f2d4a53b16408e8a0bdac45 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Wed, 1 Mar 2023 07:45:36 +0100 Subject: [PATCH 3/4] fix(emqx_management): ensure binary string for log_path --- apps/emqx_management/src/emqx_mgmt.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_management/src/emqx_mgmt.erl b/apps/emqx_management/src/emqx_mgmt.erl index 82a8b94f8..dfe1ff310 100644 --- a/apps/emqx_management/src/emqx_mgmt.erl +++ b/apps/emqx_management/src/emqx_mgmt.erl @@ -153,7 +153,7 @@ log_path() -> undefined -> <<"log.file_handler.default.enable is false, not logging to file.">>; Path -> - filename:join(RootDir, Path) + iolist_to_binary(filename:join(RootDir, Path)) end. get_log_path([#{config := #{file := Path}} | _LoggerConfigs]) -> From c6161925782e7b6c29a51c7694e71997d9151dcc Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Wed, 1 Mar 2023 09:39:16 +0100 Subject: [PATCH 4/4] docs: Update changes/ce/fix-10044.zh.md Co-authored-by: William Yang --- changes/ce/fix-10044.zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changes/ce/fix-10044.zh.md b/changes/ce/fix-10044.zh.md index 29de963f1..9979e0fc7 100644 --- a/changes/ce/fix-10044.zh.md +++ b/changes/ce/fix-10044.zh.md @@ -1 +1 @@ -修复 v5.0.18 引入的一个节点信息序列化是发生的错误。 +修复 v5.0.18 引入的一个节点信息序列化时发生的错误。