Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grpclb: only force update picker when cache is used #2843

Merged
merged 1 commit into from Jun 3, 2019

Conversation

menghanl
Copy link
Contributor

@menghanl menghanl commented May 30, 2019

Only when sub-balancer is round-robin (not pick-first), subconns are cached.

The actual problem solved by this:

If pick-first is set as the sub-balancer, when switching sub-balancer from round-robin to pick-first, the first subconn creation will fail because no address is available (grpclb: failed to create new SubConn: grpc: cannot create SubConn with empty address list).

What should happen is, no picker is updated, and all RPCs block and wait. But because we will always regenerate and update picker, a TransientFailure error picker will be set and all RPCs will fail.

@menghanl menghanl force-pushed the grpclb_update_picker_when_ready branch from af89aee to 065ef2b Compare May 30, 2019 23:21
@menghanl menghanl merged commit 532a0b9 into grpc:master Jun 3, 2019
@menghanl menghanl deleted the grpclb_update_picker_when_ready branch June 3, 2019 17:43
@dfawley dfawley added this to the 1.22 Release milestone Jun 6, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Dec 3, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants