From 261ca3d62579b001ed91db7d112be4cbf6d6c66d Mon Sep 17 00:00:00 2001 From: zhouzb Date: Wed, 24 Nov 2021 16:48:35 +0800 Subject: [PATCH] fix(connector): fix crash in health checking of mongo connection --- apps/emqx_connector/src/emqx_connector_mongo.erl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/emqx_connector/src/emqx_connector_mongo.erl b/apps/emqx_connector/src/emqx_connector_mongo.erl index c2d992cb6..9e4a5163b 100644 --- a/apps/emqx_connector/src/emqx_connector_mongo.erl +++ b/apps/emqx_connector/src/emqx_connector_mongo.erl @@ -169,8 +169,13 @@ health_check(PoolName) -> case ecpool_worker:client(Worker) of {ok, Conn} -> %% we don't care if this returns something or not, we just to test the connection - Res = mongo_api:find_one(Conn, <<"foo">>, {}, #{}), - Res == undefined orelse is_map(Res); + try mongo_api:find_one(Conn, <<"foo">>, {}, #{}) of + undefined -> true; + Res when is_map(Res) -> true; + _ -> false + catch + _Class:_Error -> false + end; _ -> false end end || {_WorkerName, Worker} <- ecpool:workers(PoolName)],