If the priority policy's timer for a child (the init timer) expires -- started here:
If the child is still CONNECTING and then it produces a new CONNECTING picker, this code will restart it:
|
case connectivity.Connecting: |
This should be able to be fixed by checking if the old state was also CONNECTING, and avoiding starting the timer if so.
If the priority policy's timer for a child (the init timer) expires -- started here:
grpc-go/xds/internal/balancer/priority/balancer_child.go
Line 105 in 0ebea3e
If the child is still CONNECTING and then it produces a new CONNECTING picker, this code will restart it:
grpc-go/xds/internal/balancer/priority/balancer_priority.go
Line 201 in 0ebea3e
This should be able to be fixed by checking if the old state was also CONNECTING, and avoiding starting the timer if so.