From ba70f7168b41c8533bdaed0bde2cbf573cbdcf1e Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Mon, 31 Jan 2022 13:54:40 -0800 Subject: [PATCH 1/2] grpc-js: Fix exitIdle propagation and DNS IP result backoff --- packages/grpc-js/src/load-balancer-child-handler.ts | 4 ++-- packages/grpc-js/src/resolver-dns.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/grpc-js/src/load-balancer-child-handler.ts b/packages/grpc-js/src/load-balancer-child-handler.ts index c53914942..3379ec8a7 100644 --- a/packages/grpc-js/src/load-balancer-child-handler.ts +++ b/packages/grpc-js/src/load-balancer-child-handler.ts @@ -125,9 +125,9 @@ export class ChildLoadBalancerHandler implements LoadBalancer { } exitIdle(): void { if (this.currentChild) { - this.currentChild.resetBackoff(); + this.currentChild.exitIdle(); if (this.pendingChild) { - this.pendingChild.resetBackoff(); + this.pendingChild.exitIdle(); } } } diff --git a/packages/grpc-js/src/resolver-dns.ts b/packages/grpc-js/src/resolver-dns.ts index 160b3d326..8ad24ed05 100644 --- a/packages/grpc-js/src/resolver-dns.ts +++ b/packages/grpc-js/src/resolver-dns.ts @@ -144,6 +144,7 @@ class DnsResolver implements Resolver { if (this.ipResult !== null) { trace('Returning IP address for target ' + uriToString(this.target)); setImmediate(() => { + this.backoff.reset(); this.listener.onSuccessfulResolution( this.ipResult!, null, From f49ed624766d1c40d1b9f215781bf84231688563 Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Mon, 31 Jan 2022 13:55:07 -0800 Subject: [PATCH 2/2] grpc-js: Increase version to 1.5.4 --- packages/grpc-js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/grpc-js/package.json b/packages/grpc-js/package.json index 3b62aa5ed..8c65b9365 100644 --- a/packages/grpc-js/package.json +++ b/packages/grpc-js/package.json @@ -1,6 +1,6 @@ { "name": "@grpc/grpc-js", - "version": "1.5.3", + "version": "1.5.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",