From 80e2c2c95568d1fedf7ea35504945a90be6afda8 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Wed, 14 Jun 2023 15:14:20 +0800 Subject: [PATCH] fix(http): avoid crash if the old sample data dont contain `live_connections` In version 5.1.0, a new metric called "live_connections" was added. However, we try to merge some data from the Mria disk table, which may include old data formats. Therefore, maps:get/3 is needed to avoid crashes. --- apps/emqx_dashboard/src/emqx_dashboard_monitor.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl b/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl index 97d648d59..9eb5ae8a9 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_monitor.erl @@ -249,7 +249,7 @@ merge_cluster_sampler_map(M1, M2) -> (topics, Map) -> Map#{topics => maps:get(topics, M1)}; (Key, Map) -> - Map#{Key => maps:get(Key, M1) + maps:get(Key, M2)} + Map#{Key => maps:get(Key, M1, 0) + maps:get(Key, M2, 0)} end, lists:foldl(Fun, #{}, ?SAMPLER_LIST).