From 36986f618a8455ade8ddeeafe5292bbba7104e79 Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Tue, 19 Jan 2021 13:43:56 -0800 Subject: [PATCH] grpc-js: round robin: re-resolve when subchannels go idle --- packages/grpc-js/package.json | 2 +- packages/grpc-js/src/load-balancer-round-robin.ts | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/grpc-js/package.json b/packages/grpc-js/package.json index 17fb1a2e5..60d3c908f 100644 --- a/packages/grpc-js/package.json +++ b/packages/grpc-js/package.json @@ -1,6 +1,6 @@ { "name": "@grpc/grpc-js", - "version": "1.2.3", + "version": "1.2.4", "description": "gRPC Library for Node - pure JS implementation", "homepage": "https://grpc.io/", "repository": "https://github.com/grpc/grpc-node/tree/master/packages/grpc-js", diff --git a/packages/grpc-js/src/load-balancer-round-robin.ts b/packages/grpc-js/src/load-balancer-round-robin.ts index fc9bef0c7..daba45941 100644 --- a/packages/grpc-js/src/load-balancer-round-robin.ts +++ b/packages/grpc-js/src/load-balancer-round-robin.ts @@ -128,14 +128,12 @@ export class RoundRobinLoadBalancer implements LoadBalancer { this.subchannelStateCounts[previousState] -= 1; this.subchannelStateCounts[newState] += 1; this.calculateAndUpdateState(); - - if (newState === ConnectivityState.TRANSIENT_FAILURE) { - this.channelControlHelper.requestReresolution(); - } + if ( newState === ConnectivityState.TRANSIENT_FAILURE || newState === ConnectivityState.IDLE ) { + this.channelControlHelper.requestReresolution(); subchannel.startConnecting(); } };