li
591d47fb9b
fix(openai): 原生 Responses 路径不再把上游确定性 400 归一成可重试 502
上游返回 400(invalid_function_parameters、missing_required_parameter 等)时,
`/v1/responses` 原生路径把它包成 `502 upstream_error / "Upstream request failed"`,
真实的 message/code/param 全部丢弃。
502 属于可重试类,下游网关会把这个永远不会成功的请求反复重放(issue #5479 实测
30 个失败请求被放大成 60 次上游调用),客户端也拿不到「哪个字段非法」的线索。
同一个 service 上的兄弟路径早已做对:
- `handleCompatErrorResponse`(ChatCompletions / Anthropic)回真实状态码 +
invalid_request_error + 真实 message;
- `/v1/images/generations` 还额外透传 code/param。
原生 Responses 是唯一漏掉的一条,本次对齐。
改动只放行 400:走到该分支说明 `shouldFailoverOpenAIUpstreamResponse` 已判定这个
400 不可 failover,即 server_is_overloaded / at capacity 这类可重试的 400 不会到达。
401/402/403(运营方凭据问题)、404/405(可能是 base_url 配错)、429 一律维持原状。
Fixes #5479
2026-08-10 11:25:46 +08:00
..
2026-08-09 08:26:22 +00:00
2026-08-08 11:12:56 +08:00
2026-08-10 11:25:46 +08:00
2026-08-09 12:11:35 +08:00
2026-07-31 21:20:32 +08:00
2026-08-04 20:57:15 +08:00
2026-08-07 16:29:48 +08:00