fix: reduce Sub2API compact threshold and observe failures

This commit is contained in:
Codex
2026-06-12 14:41:58 +00:00
parent b41847853a
commit 9ab1acbe1d
4 changed files with 55 additions and 3 deletions
@@ -1346,13 +1346,25 @@ def gateway_monitor_paths(config):
return {"/responses", "/v1/responses", "/responses/compact", "/v1/responses/compact"}
def gateway_failure_kind(message, payload, config):
if "openai.forward_failed" not in message or not isinstance(payload, dict):
if not isinstance(payload, dict):
return None
path = payload.get("path")
if path not in gateway_monitor_paths(config):
return None
if payload.get("account_id") is None:
return None
if "codex.remote_compact.failed" in message:
status = payload.get("status_code")
if isinstance(status, int) and status >= 500:
return "gateway-compact-final-failure"
return None
if "openai.upstream_failover_switching" in message and path in ("/responses/compact", "/v1/responses/compact"):
upstream_status = payload.get("upstream_status")
if isinstance(upstream_status, int) and upstream_status >= 500:
return "gateway-compact-upstream-failover"
return None
if "openai.forward_failed" not in message:
return None
error_text = str(payload.get("error") or "").lower()
fallback_written = payload.get("fallback_error_response_written") is True
upstream_already_written = payload.get("upstream_error_response_already_written") is True
@@ -1404,7 +1416,7 @@ def gateway_failure_kind(message, payload, config):
return None
def gateway_failure_is_observe_only(failure_kind):
return failure_kind in {"gateway-session-affinity-failure"}
return failure_kind in {"gateway-session-affinity-failure", "gateway-compact-final-failure", "gateway-compact-upstream-failover"}
def gateway_failure_item(ts, pod_name, payload, failure_kind):
request_id = payload.get("request_id") or sha(json.dumps(payload, sort_keys=True, ensure_ascii=False))