gRPCLB fails RPCs if gRPCLB server unavailable
- Dominant language
- Java
- Stars
- 12.1k
- Forks
- 4k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Description
This is split out of https://github.com/grpc/grpc-java/issues/7643#issuecomment-741307136:
> The initial RPCs seem to fail because [the picker is immediately failed when lb RPC fails and there are no backends](https://github.com/grpc/grpc-java/blob/8ce6355e893fd8c1d1801781855c93fd63f84589/grpclb/src/main/java/io/grpc/grpclb/GrpclbState.java#L708). Changing the logic to try fallback backends first should be possible, but it also seems it will be a hard to define/implement all the edge cases.
@apolcyn, does it seem wrong that initial RPCs fail if gRPCLB server is unavailable, when fallback is available but hasn't been tried yet? It appears later RPCs would succeeded as the picker would be replaced to buffer further RPCs and eventually the fallback would come online. It seems like we may need to change this error behavior.
Contributor guide
Assessment
This issue has not been assessed yet.