From 2ee65a9c261636abb950319815fb89ef501acf11 Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Tue, 6 Sep 2022 13:06:48 -0700 Subject: [PATCH] core: Don't forward acceptResolvedAddresses() (#9511) Forwarding acceptResolvedAddresses() to a delegate in ForwardingLoadBalancer can cause problems if an extending class expects its handleResolvedAddresses implementation to be called even when a client calls handleResolvedAddresses(). This would not happen as ForwardingLoadBalancer would directly send the call to the delegate. --- .../src/main/java/io/grpc/util/ForwardingLoadBalancer.java | 5 ----- .../test/java/io/grpc/util/ForwardingLoadBalancerTest.java | 7 ++++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/io/grpc/util/ForwardingLoadBalancer.java b/core/src/main/java/io/grpc/util/ForwardingLoadBalancer.java index 516488f0d1..cefcbf344e 100644 --- a/core/src/main/java/io/grpc/util/ForwardingLoadBalancer.java +++ b/core/src/main/java/io/grpc/util/ForwardingLoadBalancer.java @@ -34,11 +34,6 @@ public abstract class ForwardingLoadBalancer extends LoadBalancer { delegate().handleResolvedAddresses(resolvedAddresses); } - @Override - public boolean acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) { - return delegate().acceptResolvedAddresses(resolvedAddresses); - } - @Override public void handleNameResolutionError(Status error) { delegate().handleNameResolutionError(error); diff --git a/core/src/test/java/io/grpc/util/ForwardingLoadBalancerTest.java b/core/src/test/java/io/grpc/util/ForwardingLoadBalancerTest.java index 0122646684..f9b53400ce 100644 --- a/core/src/test/java/io/grpc/util/ForwardingLoadBalancerTest.java +++ b/core/src/test/java/io/grpc/util/ForwardingLoadBalancerTest.java @@ -20,8 +20,8 @@ import static org.mockito.Mockito.mock; import io.grpc.ForwardingTestUtil; import io.grpc.LoadBalancer; -import java.lang.reflect.Method; -import java.util.Collections; +import io.grpc.LoadBalancer.ResolvedAddresses; +import java.util.Arrays; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -44,6 +44,7 @@ public class ForwardingLoadBalancerTest { LoadBalancer.class, mockDelegate, new TestBalancer(), - Collections.emptyList()); + Arrays.asList( + LoadBalancer.class.getMethod("acceptResolvedAddresses", ResolvedAddresses.class))); } }