Skip to content

core: Avoid PickFirstLeafLoadBalancer getting stuck in IDLE on address update (v1.86.x backport) - #13187

Merged
kannanjgithub merged 1 commit into
grpc:v1.86.xfrom
kannanjgithub:backport-1.86-pf-leaf-lb-wedged-channel-state
Nov 13, 2026
Merged

kannanjgithub merged 1 commit into
grpc:v1.86.xfrom
kannanjgithub:backport-1.86-pf-leaf-lb-wedged-channel-state

Conversation

@kannanjgithub

Copy link
Copy Markdown
Contributor

Backport of #13185 to v1.86.x.

When PickFirstLeafLoadBalancer is in IDLE and requestConnection() is invoked (e.g., via RequestConnectionPicker), update rawConnectivityState to CONNECTING alongside subchannelData.updateState(CONNECTING). This ensures that if acceptResolvedAddresses() runs before the subchannel asynchronously reports CONNECTING and removes the previous address, the load balancer continues connecting to the new address list instead of remaining wedged in IDLE.

Fixes #12395

…s update (grpc#13185)

When `PickFirstLeafLoadBalancer` is in IDLE and `requestConnection()` is
invoked (e.g., via `RequestConnectionPicker`), update
`rawConnectivityState` to CONNECTING alongside
`subchannelData.updateState(CONNECTING)`. This ensures that if
`acceptResolvedAddresses()` runs before the subchannel asynchronously
reports CONNECTING and removes the previous address, the load balancer
continues connecting to the new address list instead of remaining wedged
in IDLE.

Fixes grpc#12395
@kannanjgithub kannanjgithub added the TODO:release blocker Issue/PR is important enough to delay the release. Removed after release issues resolved label Nov 12, 2026
@kannanjgithub
kannanjgithub merged commit 6efaf2e into grpc:v1.86.x Nov 13, 2026
15 of 18 checks passed
@kannanjgithub
kannanjgithub deleted the backport-1.86-pf-leaf-lb-wedged-channel-state branch November 13, 2026 02:19
@kannanjgithub kannanjgithub removed the TODO:release blocker Issue/PR is important enough to delay the release. Removed after release issues resolved label Nov 13, 2026
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.

2 participants