Skip to content

Conversation

voidzcy
Copy link
Contributor

@voidzcy voidzcy commented Mar 12, 2021

Fixes #7935

There are two cases gRPCLB needs to handle an empty list of backend addresses:

This PR fixes the entire problem. It turns into TRANSIENT_FAILURE as long as the list of backends to be used is found to be empty.

There could be other choices of behaviors such as do not cancel the fallback timer if balancer gives an empty list and only turn into TF if fallback also fail. The choice in this PR is the simplest handling, we don't unnecessarily complicate ourselves.

…esses is given. It applies to both the address list given by the balancer and fallback list given by the resolver whenever it is being used.
@voidzcy voidzcy force-pushed the bugfix/grpclb_turn_to_tf_if_no_addrs branch 2 times, most recently from 4bc7814 to b847040 Compare March 12, 2021 01:48
@voidzcy voidzcy force-pushed the bugfix/grpclb_turn_to_tf_if_no_addrs branch from b847040 to da4bbb2 Compare March 12, 2021 01:49
@voidzcy voidzcy requested a review from ejona86 March 12, 2021 18:24
Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's still the style stuff I suggested before, but LGTM

@voidzcy voidzcy merged commit c3caafa into grpc:master Mar 13, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gRPC-LB without fallback addresses can hang

2 participants