mirror of https://github.com/grpc/grpc-java.git
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.
This commit is contained in:
parent
c8c3d3d6b2
commit
2ee65a9c26
|
|
@ -34,11 +34,6 @@ public abstract class ForwardingLoadBalancer extends LoadBalancer {
|
||||||
delegate().handleResolvedAddresses(resolvedAddresses);
|
delegate().handleResolvedAddresses(resolvedAddresses);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) {
|
|
||||||
return delegate().acceptResolvedAddresses(resolvedAddresses);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleNameResolutionError(Status error) {
|
public void handleNameResolutionError(Status error) {
|
||||||
delegate().handleNameResolutionError(error);
|
delegate().handleNameResolutionError(error);
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
import io.grpc.ForwardingTestUtil;
|
import io.grpc.ForwardingTestUtil;
|
||||||
import io.grpc.LoadBalancer;
|
import io.grpc.LoadBalancer;
|
||||||
import java.lang.reflect.Method;
|
import io.grpc.LoadBalancer.ResolvedAddresses;
|
||||||
import java.util.Collections;
|
import java.util.Arrays;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.JUnit4;
|
import org.junit.runners.JUnit4;
|
||||||
|
|
@ -44,6 +44,7 @@ public class ForwardingLoadBalancerTest {
|
||||||
LoadBalancer.class,
|
LoadBalancer.class,
|
||||||
mockDelegate,
|
mockDelegate,
|
||||||
new TestBalancer(),
|
new TestBalancer(),
|
||||||
Collections.<Method>emptyList());
|
Arrays.asList(
|
||||||
|
LoadBalancer.class.getMethod("acceptResolvedAddresses", ResolvedAddresses.class)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue