fix(proxy): switch selector on every set-aside kind, not quota only - #15140
Merged
diegosouzapw merged 1 commit intoOct 2, 2026
Merged
diegosouzapw merged 1 commit into
diegosouzapw merged 1 commit into
Conversation
maxmad64bis
force-pushed
the
fix/selector-setaside-switch
branch
from
September 29, 2026 20:26
9a92eb4 to
7b17a62
Compare
5 tasks done
maxmad64bis
force-pushed
the
fix/selector-setaside-switch
branch
from
September 29, 2026 21:03
7b17a62 to
0421bfc
Compare
maxmad64bis
marked this pull request as ready for review
September 29, 2026 21:05
Why: a pool member set aside for a transport or slow refusal kept serving its selector group; only quota (429) refusals steered the local core selector away. What: subscribe to set-aside transitions and drive the existing switch trigger with the real refusal kind; the synchronous quota path is kept as-is and both share one throttle slot per (subscription, selector), so a quota refusal still switches once. The trigger records the live member under the received kind. Tests: transition suite covers the collapsed quota double trigger, the gap-window refusal, one switch per transport/slow kind with kind-observable member memory, idempotent registration and an end-to-end transport flip. Docs: changelog fragment in changelog.d/fixes. Do not: change display wiring; touch budgets or delays; remove local scripts.
maxmad64bis
force-pushed
the
fix/selector-setaside-switch
branch
from
September 30, 2026 00:08
0421bfc to
ee07b68
Compare
diegosouzapw
merged commit Oct 2, 2026
f802445
into
diegosouzapw:release/v3.8.52
11 of 16 checks passed
Owner
|
Thanks @maxmad64bis — merged into |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A pool member set aside for a transport failure or a slow response kept serving its selector group. Only quota refusals steered the local core selector away. Every set-aside now steers the selector to a live member.
Related Issues
Validation
npm run lint— ESLint on the touched files is clean; the full run is red on the base (🔴 Release branch not green: release/v3.8.52 #15306)Tests Added Or Updated
Coverage Notes
Reviewer Notes
selectorTrigger.ts(this change passes the refusal kind explicitly, feat(proxy-subscription): generate the local proxy-core configuration (opt-in) #15141 adds the snapshot fallback — same behavior either order).