From ba70f7168b41c8533bdaed0bde2cbf573cbdcf1e Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Mon, 31 Jan 2022 13:54:40 -0800 Subject: [PATCH] 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,