From a15a3117de3507278b36bce5c42987cbe1d41d05 Mon Sep 17 00:00:00 2001 From: Kun Zhang Date: Mon, 4 Mar 2019 13:37:49 -0800 Subject: [PATCH] core: deprecate LoadBalancer.Helper#getNameResolverFactory (#5418) This was added for the potential use case of needing to resolve target names (of the same scheme as the top-level channel's target's) in the LoadBalancer. Now actual use cases come up in xDS that we need to resolve fully-qualified target strings with arbitrary schemes. This method has never been used and won't fit future uses because it's too restrictive. --- core/src/main/java/io/grpc/LoadBalancer.java | 4 ++++ core/src/main/java/io/grpc/internal/ManagedChannelImpl.java | 1 + .../main/java/io/grpc/util/ForwardingLoadBalancerHelper.java | 1 + core/src/test/java/io/grpc/LoadBalancerTest.java | 4 +++- .../grpc/services/HealthCheckingLoadBalancerFactoryTest.java | 1 + 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/io/grpc/LoadBalancer.java b/core/src/main/java/io/grpc/LoadBalancer.java index c75c7c2b59..da9e8bee14 100644 --- a/core/src/main/java/io/grpc/LoadBalancer.java +++ b/core/src/main/java/io/grpc/LoadBalancer.java @@ -659,7 +659,11 @@ public abstract class LoadBalancer { * Returns the NameResolver of the channel. * * @since 1.2.0 + * + * @deprecated this method will be deleted in a future release. If you think it shouldn't be + * deleted, please file an issue on github. */ + @Deprecated public abstract NameResolver.Factory getNameResolverFactory(); /** diff --git a/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java b/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java index 8b4bc8b11e..635dc292de 100644 --- a/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java +++ b/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java @@ -1256,6 +1256,7 @@ final class ManagedChannelImpl extends ManagedChannel implements return ManagedChannelImpl.this.authority(); } + @Deprecated @Override public NameResolver.Factory getNameResolverFactory() { return nameResolverFactory; diff --git a/core/src/main/java/io/grpc/util/ForwardingLoadBalancerHelper.java b/core/src/main/java/io/grpc/util/ForwardingLoadBalancerHelper.java index ce5e76fc95..aeac77db00 100644 --- a/core/src/main/java/io/grpc/util/ForwardingLoadBalancerHelper.java +++ b/core/src/main/java/io/grpc/util/ForwardingLoadBalancerHelper.java @@ -81,6 +81,7 @@ public abstract class ForwardingLoadBalancerHelper extends LoadBalancer.Helper { delegate().runSerialized(task); } + @Deprecated @Override public NameResolver.Factory getNameResolverFactory() { return delegate().getNameResolverFactory(); diff --git a/core/src/test/java/io/grpc/LoadBalancerTest.java b/core/src/test/java/io/grpc/LoadBalancerTest.java index dc21bda0bc..4a55f05ecc 100644 --- a/core/src/test/java/io/grpc/LoadBalancerTest.java +++ b/core/src/test/java/io/grpc/LoadBalancerTest.java @@ -211,7 +211,9 @@ public class LoadBalancerTest { return null; } - @Override public NameResolver.Factory getNameResolverFactory() { + @Deprecated + @Override + public NameResolver.Factory getNameResolverFactory() { return null; } diff --git a/services/src/test/java/io/grpc/services/HealthCheckingLoadBalancerFactoryTest.java b/services/src/test/java/io/grpc/services/HealthCheckingLoadBalancerFactoryTest.java index 5e8bf19497..bcae163c50 100644 --- a/services/src/test/java/io/grpc/services/HealthCheckingLoadBalancerFactoryTest.java +++ b/services/src/test/java/io/grpc/services/HealthCheckingLoadBalancerFactoryTest.java @@ -1190,6 +1190,7 @@ public class HealthCheckingLoadBalancerFactoryTest { return clock.getScheduledExecutorService(); } + @Deprecated @Override public NameResolver.Factory getNameResolverFactory() { throw new AssertionError("Should not be called");