From 4f38f1e92fd08687802f0b59f244576b07eb1d3a Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Fri, 29 May 2020 12:35:25 -0700 Subject: [PATCH] Deactivate targets that are not in new configs --- packages/grpc-js/src/load-balancer-weighted-target.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/grpc-js/src/load-balancer-weighted-target.ts b/packages/grpc-js/src/load-balancer-weighted-target.ts index 03d0ec70..e9756e6a 100644 --- a/packages/grpc-js/src/load-balancer-weighted-target.ts +++ b/packages/grpc-js/src/load-balancer-weighted-target.ts @@ -299,6 +299,13 @@ export class WeightedTargetLoadBalancer implements LoadBalancer { target.updateAddressList(childAddressMap.get(targetName) ?? [], targetConfig, attributes); } + // Deactivate targets that are not in the new config + for (const [targetName, target] of this.targets) { + if (this.targetList.indexOf(targetName) < 0) { + target.deactivate(); + } + } + this.updateState(); } exitIdle(): void {