From 7dcb9567e7588988ce976cf9338765646c56199d Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Fri, 7 Jan 2022 14:34:59 +0800 Subject: [PATCH] fix(bridge): get bridges from all nodes crash --- apps/emqx_bridge/src/emqx_bridge_api.erl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/emqx_bridge/src/emqx_bridge_api.erl b/apps/emqx_bridge/src/emqx_bridge_api.erl index 926bd3612..f1335b502 100644 --- a/apps/emqx_bridge/src/emqx_bridge_api.erl +++ b/apps/emqx_bridge/src/emqx_bridge_api.erl @@ -18,6 +18,7 @@ -behaviour(minirest_api). -include_lib("typerefl/include/types.hrl"). +-include_lib("emqx/include/logger.hrl"). -import(hoconsc, [mk/2, array/1, enum/1]). @@ -371,8 +372,12 @@ zip_bridges([BridgesFirstNode | _] = BridgesAllNodes) -> pick_bridges_by_id(Id, BridgesAllNodes) -> lists:foldl(fun(BridgesOneNode, Acc) -> - [BridgeInfo] = [Bridge || Bridge = #{id := Id0} <- BridgesOneNode, Id0 == Id], - [BridgeInfo | Acc] + case [Bridge || Bridge = #{id := Id0} <- BridgesOneNode, Id0 == Id] of + [BridgeInfo] -> [BridgeInfo | Acc]; + [] -> + ?SLOG(warning, #{msg => "bridge_inconsistent_in_cluster", bridge => Id}), + Acc + end end, [], BridgesAllNodes). format_bridge_info([FirstBridge | _] = Bridges) ->