From 6abe4ad076d723565bce6223ba90aa3449e94ba8 Mon Sep 17 00:00:00 2001 From: Kun Zhang Date: Fri, 1 Mar 2019 23:33:42 -0800 Subject: [PATCH] core: deprecate LoadBalancer.Helper#getNameResolverFactory 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 7f4eaaf3b37..404e6a62adc 100644 --- a/core/src/main/java/io/grpc/LoadBalancer.java +++ b/core/src/main/java/io/grpc/LoadBalancer.java @@ -638,7 +638,11 @@ public ScheduledExecutorService getScheduledExecutorService() { * 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 8b4bc8b11e6..635dc292de0 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 @@ public String getAuthority() { 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 c9f9e320f87..331c996af5c 100644 --- a/core/src/main/java/io/grpc/util/ForwardingLoadBalancerHelper.java +++ b/core/src/main/java/io/grpc/util/ForwardingLoadBalancerHelper.java @@ -76,6 +76,7 @@ public void runSerialized(Runnable task) { 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 dc21bda0bc4..4a55f05ecca 100644 --- a/core/src/test/java/io/grpc/LoadBalancerTest.java +++ b/core/src/test/java/io/grpc/LoadBalancerTest.java @@ -211,7 +211,9 @@ public void updateBalancingState( 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 5e8bf194975..bcae163c500 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 ScheduledExecutorService getScheduledExecutorService() { return clock.getScheduledExecutorService(); } + @Deprecated @Override public NameResolver.Factory getNameResolverFactory() { throw new AssertionError("Should not be called");