From 5384f9706a94bce10527def932a0edd30e8b45e4 Mon Sep 17 00:00:00 2001 From: Carl Mastrangelo Date: Mon, 8 Aug 2016 17:53:58 -0700 Subject: [PATCH] core: propagate name resolution errors --- .../src/main/java/io/grpc/internal/ManagedChannelImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java b/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java index 8a3891f9a6..51199146c8 100644 --- a/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java +++ b/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java @@ -249,9 +249,14 @@ public final class ManagedChannelImpl extends ManagedChannel implements WithLogI class NameResolverStartTask implements Runnable { @Override public void run() { + NameResolverListenerImpl listener = new NameResolverListenerImpl(balancer); // This may trigger quite a few non-trivial work in LoadBalancer and NameResolver, // we don't want to do it in the lock. - resolver.start(new NameResolverListenerImpl(balancer)); + try { + resolver.start(listener); + } catch (Throwable t) { + listener.onError(Status.fromThrowable(t)); + } } }