Here is the test case:
I have implemented my custom NameResolver, and using RoundRobinLoadBalancer in managedChannelBuilder.
1. initially has 4 instances running (serverA, serverB, serverC, serverD)
2. then kill 2 instances (serverC, serverD), then serverA and serverB continues serving the request
3. then create 2 more instances (serverE, serverF), only serverA and serverB continues serving the request, since the NameResolver::refresh is only triggered due to connection failures or GOAWAY signal.
4. then kill serverA and serverB, there is 30 minutes blank window, that gRPC seems not doing anything, then after 30 minutes NameResolver::refresh is triggered and the messages are served by serverE and serverF. (seems no messaging loss).
Can someone please suggest why there is a 30 minutes blank window, and is there anyway we can configure it to be shorter?
Thanks a lot!