From 71c4ef730efe76748b11b91e01b27d1a3eb024ab Mon Sep 17 00:00:00 2001 From: yifeizhuang Date: Tue, 16 Mar 2021 12:37:05 -0700 Subject: [PATCH] xds:fix cdsLoadBalancer2 childLb shutdown (#7971) --- xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java | 3 +++ xds/src/test/java/io/grpc/xds/CdsLoadBalancer2Test.java | 1 + 2 files changed, 4 insertions(+) diff --git a/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java b/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java index 4ba0a32030..7ee600998d 100644 --- a/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java +++ b/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java @@ -129,6 +129,9 @@ final class CdsLoadBalancer2 extends LoadBalancer { private void shutdown() { root.shutdown(); + if (childLb != null) { + childLb.shutdown(); + } } private void handleClusterDiscovered() { diff --git a/xds/src/test/java/io/grpc/xds/CdsLoadBalancer2Test.java b/xds/src/test/java/io/grpc/xds/CdsLoadBalancer2Test.java index b95117acbf..9a3aa2934d 100644 --- a/xds/src/test/java/io/grpc/xds/CdsLoadBalancer2Test.java +++ b/xds/src/test/java/io/grpc/xds/CdsLoadBalancer2Test.java @@ -139,6 +139,7 @@ public class CdsLoadBalancer2Test { loadBalancer.shutdown(); assertThat(xdsClient.watchers).isEmpty(); assertThat(xdsClientRefs).isEqualTo(0); + assertThat(childBalancers).isEmpty(); } @Test