From ab78f39f2352a2d32c1c72dde2a0b89aa2e5ca86 Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Mon, 10 Oct 2022 15:51:10 -0700 Subject: [PATCH] xds: ClusterManagerLoadBalancer to use acceptResolvedAddresses() (#9572) Part of an API migration away from handleResolvedAddresses(). --- .../java/io/grpc/xds/ClusterManagerLoadBalancer.java | 12 ++++-------- .../io/grpc/xds/ClusterManagerLoadBalancerTest.java | 5 +++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/xds/src/main/java/io/grpc/xds/ClusterManagerLoadBalancer.java b/xds/src/main/java/io/grpc/xds/ClusterManagerLoadBalancer.java index 9b3fc83bad..cce32c6824 100644 --- a/xds/src/main/java/io/grpc/xds/ClusterManagerLoadBalancer.java +++ b/xds/src/main/java/io/grpc/xds/ClusterManagerLoadBalancer.java @@ -70,16 +70,16 @@ class ClusterManagerLoadBalancer extends LoadBalancer { } @Override - public void handleResolvedAddresses(ResolvedAddresses resolvedAddresses) { + public boolean acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) { try { resolvingAddresses = true; - handleResolvedAddressesInternal(resolvedAddresses); + return acceptResolvedAddressesInternal(resolvedAddresses); } finally { resolvingAddresses = false; } } - public void handleResolvedAddressesInternal(ResolvedAddresses resolvedAddresses) { + public boolean acceptResolvedAddressesInternal(ResolvedAddresses resolvedAddresses) { logger.log(XdsLogLevel.DEBUG, "Received resolution result: {0}", resolvedAddresses); ClusterManagerConfig config = (ClusterManagerConfig) resolvedAddresses.getLoadBalancingPolicyConfig(); @@ -109,6 +109,7 @@ class ClusterManagerLoadBalancer extends LoadBalancer { // Must update channel picker before return so that new RPCs will not be routed to deleted // clusters and resolver can remove them in service config. updateOverallBalancingState(); + return true; } @Override @@ -126,11 +127,6 @@ class ClusterManagerLoadBalancer extends LoadBalancer { } } - @Override - public boolean canHandleEmptyAddressListFromNameResolution() { - return true; - } - @Override public void shutdown() { logger.log(XdsLogLevel.INFO, "Shutdown"); diff --git a/xds/src/test/java/io/grpc/xds/ClusterManagerLoadBalancerTest.java b/xds/src/test/java/io/grpc/xds/ClusterManagerLoadBalancerTest.java index c83c9c4060..f2b80cfff0 100644 --- a/xds/src/test/java/io/grpc/xds/ClusterManagerLoadBalancerTest.java +++ b/xds/src/test/java/io/grpc/xds/ClusterManagerLoadBalancerTest.java @@ -267,7 +267,7 @@ public class ClusterManagerLoadBalancerTest { } private void deliverResolvedAddresses(final Map childPolicies, boolean failing) { - clusterManagerLoadBalancer.handleResolvedAddresses( + clusterManagerLoadBalancer.acceptResolvedAddresses( ResolvedAddresses.newBuilder() .setAddresses(Collections.emptyList()) .setLoadBalancingPolicyConfig(buildConfig(childPolicies, failing)) @@ -348,12 +348,13 @@ public class ClusterManagerLoadBalancerTest { } @Override - public void handleResolvedAddresses(ResolvedAddresses resolvedAddresses) { + public boolean acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) { config = resolvedAddresses.getLoadBalancingPolicyConfig(); if (failing) { helper.updateBalancingState(TRANSIENT_FAILURE, new ErrorPicker(Status.INTERNAL)); } + return true; } @Override