diff --git a/apps/emqx_bridge/src/emqx_bridge_api.erl b/apps/emqx_bridge/src/emqx_bridge_api.erl index a71315a27..8bfc9feb1 100644 --- a/apps/emqx_bridge/src/emqx_bridge_api.erl +++ b/apps/emqx_bridge/src/emqx_bridge_api.erl @@ -983,15 +983,10 @@ call_operation(NodeOrAll, OperFunc, Args = [_Nodes, BridgeType, BridgeName]) -> %% still on an older bpapi version that doesn't support it. maybe_try_restart(NodeOrAll, OperFunc, Args); {error, timeout} -> - ?SERVICE_UNAVAILABLE(<<"Request timeout">>); + ?BAD_REQUEST(<<"Request timeout">>); {error, {start_pool_failed, Name, Reason}} -> Msg = bin(io_lib:format("Failed to start ~p pool for reason ~p", [Name, Reason])), - case Reason of - nxdomain -> - ?BAD_REQUEST(Msg); - _ -> - ?SERVICE_UNAVAILABLE(Msg) - end; + ?BAD_REQUEST(Msg); {error, not_found} -> BridgeId = emqx_bridge_resource:bridge_id(BridgeType, BridgeName), ?SLOG(warning, #{ diff --git a/apps/emqx_bridge/test/emqx_bridge_api_SUITE.erl b/apps/emqx_bridge/test/emqx_bridge_api_SUITE.erl index bc27afda2..d8e697987 100644 --- a/apps/emqx_bridge/test/emqx_bridge_api_SUITE.erl +++ b/apps/emqx_bridge/test/emqx_bridge_api_SUITE.erl @@ -834,7 +834,8 @@ do_start_stop_bridges(Type, Config) -> ), BadBridgeID = emqx_bridge_resource:bridge_id(?BRIDGE_TYPE_MQTT, BadName), ?assertMatch( - {ok, SC, _} when SC == 500 orelse SC == 503, + %% request from product: return 400 on such errors + {ok, SC, _} when SC == 500 orelse SC == 400, request(post, {operation, Type, start, BadBridgeID}, Config) ), ok = gen_tcp:close(Sock),