Repository navigation
fix(combo): avoid false ALL_ACCOUNTS_INACTIVE on quality failures - #1710
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the combo routing logic to provide more accurate error messages and status codes when upstream responses fail quality validation. By capturing the specific quality failure reason and defaulting to a 502 status code, the system avoids misleading 'ALL_ACCOUNTS_INACTIVE' errors. The changes include updates to both priority and round-robin strategies, along with new unit tests in the appropriate directory. I have no feedback to provide.
# Conflicts: # open-sse/services/combo.ts
aa53574
into
diegosouzapw:release/v3.7.3
|
Thanks @CruxExperts for identifying this quality validation gap! 🎉 Your fix was spot-on and the regression tests you added are a great addition. We had already applied the production fix independently, but your tests now lock in the correct behavior. Merged into release/v3.7.3. |
…egosouzapw#1710) Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
…egosouzapw#1710) Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
…egosouzapw#1710) Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
Summary
ALL_ACCOUNTS_INACTIVEterminal errors when an upstream200response fails combo quality validationlastStatus=502, quality-validationlastError) in both priority and round-robin combo pathsWhy
In v3.7.2 combo routing, a
200response that failsvalidateResponseQualitycould exit the loop without terminal status context. In single-target scenarios this fell through to the genericALL_ACCOUNTS_INACTIVE503, which is misleading and can trigger false outage signals.Validation
node --import tsx/esm --test tests/unit/combo-routing-engine.test.tstests/unit/combo-routing-engine.test.tsRelated