Skip to content

core: Wait for backoff timer on address update in pick_first#12678

Merged
ejona86 merged 2 commits intogrpc:masterfrom
ejona86:pf-serialize-wait-for-backoff
Mar 9, 2026
Merged

core: Wait for backoff timer on address update in pick_first#12678
ejona86 merged 2 commits intogrpc:masterfrom
ejona86:pf-serialize-wait-for-backoff

Conversation

@ejona86
Copy link
Member

@ejona86 ejona86 commented Mar 6, 2026

The backoff timer is only used when serializeRetries=true, and that exists to match the old/current pick_first's behavior as closely as possible. InternalSubchannel.updateAddresses() would take no action when in TRANSIENT_FAILURE; it would update the addresses and just wait for the backoff timer to expire.

Note that this only impacts serializeRetries=true; in the other cases we do want to start trying to the new addresses immediately, because the backoff timers are in the subchannels.

The backoff timer is only used when serializeRetries=true, and that
exists to match the old/current pick_first's behavior as closely as
possible. InternalSubchannel.updateAddresses() would take no action when
in TRANSIENT_FAILURE; it would update the addresses and just wait for
the backoff timer to expire.

Note that this only impacts serializeRetries=true; in the other cases we
do want to start trying to the new addresses immediately, because the
backoff timers are in the subchannels.
@ejona86 ejona86 requested a review from kannanjgithub March 6, 2026 17:49
@shivaspeaks shivaspeaks added the kokoro:force-run Add this label to a PR to tell Kokoro to re-run all tests. Not generally necessary label Mar 9, 2026
@grpc-kokoro grpc-kokoro removed the kokoro:force-run Add this label to a PR to tell Kokoro to re-run all tests. Not generally necessary label Mar 9, 2026
@ejona86 ejona86 merged commit 310ce7b into grpc:master Mar 9, 2026
12 of 15 checks passed
@ejona86 ejona86 deleted the pf-serialize-wait-for-backoff branch March 9, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants