From 21294abd8ead9aa403841db67fbc722a53f5d24c Mon Sep 17 00:00:00 2001 From: Nopm Date: Fri, 13 Jun 2025 09:27:47 -0300 Subject: [PATCH] re-enqueue amazon bedrock 503 failed requests --- src/proxy/middleware/response/index.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/proxy/middleware/response/index.ts b/src/proxy/middleware/response/index.ts index 0b5823c..627c5e8 100644 --- a/src/proxy/middleware/response/index.ts +++ b/src/proxy/middleware/response/index.ts @@ -401,13 +401,15 @@ const handleUpstreamErrors: ProxyResHandlerWithBody = async ( } else if (statusCode === 503) { switch (service) { case "aws": - if ( - errorType === "ServiceUnavailableException" && - errorPayload.error?.message?.match(/too many connections/i) - ) { - errorPayload.proxy_note = `The requested AWS Bedrock model is overloaded. Try again in a few minutes, or try another model.`; - } - break; + // Re-enqueue on any 503 from AWS Bedrock + req.log.warn( + { key: req.key?.hash, errorType, errorPayload }, + `AWS Bedrock service unavailable (503). Re-enqueueing request.` + ); + await reenqueueRequest(req); + throw new RetryableError( + "AWS Bedrock service unavailable (503), re-enqueued request." + ); default: errorPayload.proxy_note = `Upstream service unavailable. Try again later.`; break;