fix: return 503 if bridge bpapi call timeout

This commit is contained in:
zmstone 2024-04-17 16:11:26 +02:00
parent 5a4bfff9e5
commit c96ae8dd23
1 changed files with 9 additions and 4 deletions

View File

@ -1007,7 +1007,13 @@ call_operation(NodeOrAll, OperFunc, Args = [_Nodes, _ConfRootKey, BridgeType, Br
{error, not_implemented} -> {error, not_implemented} ->
?NOT_IMPLEMENTED; ?NOT_IMPLEMENTED;
{error, timeout} -> {error, timeout} ->
?BAD_REQUEST(<<"Request timeout">>); BridgeId = emqx_bridge_resource:bridge_id(BridgeType, BridgeName),
?SLOG(warning, #{
msg => "bridge_bpapi_call_timeout",
bridge => BridgeId,
call => OperFunc
}),
?SERVICE_UNAVAILABLE(<<"Request timeout">>);
{error, {start_pool_failed, Name, Reason}} -> {error, {start_pool_failed, Name, Reason}} ->
Msg = bin( Msg = bin(
io_lib:format("Failed to start ~p pool for reason ~p", [Name, redact(Reason)]) io_lib:format("Failed to start ~p pool for reason ~p", [Name, redact(Reason)])
@ -1018,9 +1024,8 @@ call_operation(NodeOrAll, OperFunc, Args = [_Nodes, _ConfRootKey, BridgeType, Br
?SLOG(warning, #{ ?SLOG(warning, #{
msg => "bridge_inconsistent_in_cluster_for_call_operation", msg => "bridge_inconsistent_in_cluster_for_call_operation",
reason => not_found, reason => not_found,
type => BridgeType, bridge => BridgeId,
name => BridgeName, call => OperFunc
bridge => BridgeId
}), }),
?SERVICE_UNAVAILABLE(<<"Bridge not found on remote node: ", BridgeId/binary>>); ?SERVICE_UNAVAILABLE(<<"Bridge not found on remote node: ", BridgeId/binary>>);
{error, {node_not_found, Node}} -> {error, {node_not_found, Node}} ->