diff --git a/packages/grpc-js/src/load-balancer-pick-first.ts b/packages/grpc-js/src/load-balancer-pick-first.ts index 82693807..738bae99 100644 --- a/packages/grpc-js/src/load-balancer-pick-first.ts +++ b/packages/grpc-js/src/load-balancer-pick-first.ts @@ -356,12 +356,14 @@ export class PickFirstLoadBalancer implements LoadBalancer { for (const subchannel of this.subchannels) { subchannel.startConnecting(); } - if (this.currentState === ConnectivityState.IDLE || this.triedAllSubchannels) { - this.channelControlHelper.requestReresolution(); + if (this.currentState === ConnectivityState.IDLE) { if (this.latestAddressList.length > 0) { this.connectToAddressList(); } } + if (this.currentState === ConnectivityState.IDLE || this.triedAllSubchannels) { + this.channelControlHelper.requestReresolution(); + } } resetBackoff() {