finagle / featherbed

Asynchronous Scala HTTP client using Finagle, Shapeless and Cats
Apache License 2.0
137 stars 25 forks source link

DNS lookup failures on client creation never return failure #69

Open bhudgeons opened 7 years ago

bhudgeons commented 7 years ago
scala> import java.net.URL
import java.net.URL
scala> val client = new featherbed.Client(new URL("http://www.wontfindmeindns.com"))
Jul 15, 2017 9:36:07 PM com.twitter.finagle.Init$$anonfun$5 apply$mcV$sp
INFO: Finagle version 6.44.0 (rev=ef94604c6db76959610eeb8fb2bb06810022061f) built at 20170421-125957
client: featherbed.Client = featherbed.Client@40b23107
scala> Jul 15, 2017 9:36:09 PM com.twitter.finagle.DnsResolver$$anonfun$apply$3$$anonfun$apply$5 apply
INFO: Failed to resolve www.wontfindmeindns.com. Error java.net.UnknownHostException: www.wontfindmeindns.com: nodename nor servname provided, or not known
Jul 15, 2017 9:36:09 PM com.twitter.finagle.InetResolver$$anonfun$toAddr$2 apply
INFO: Resolution failed for all hosts in ArraySeq((www.wontfindmeindns.com,80,Map()))
Jul 15, 2017 9:36:09 PM com.twitter.finagle.loadbalancer.LoadBalancerFactory$StackModule$$anonfun$8 apply
INFO: www.wontfindmeindns.com:80: name resolution is negative (local dtab: Dtab())
Jul 15, 2017 9:36:13 PM com.twitter.finagle.DnsResolver$$anonfun$apply$3$$anonfun$apply$5 apply
INFO: Failed to resolve www.wontfindmeindns.com. Error java.net.UnknownHostException: www.wontfindmeindns.com
Jul 15, 2017 9:36:13 PM com.twitter.finagle.InetResolver$$anonfun$toAddr$2 apply
INFO: Resolution failed for all hosts in ArraySeq((www.wontfindmeindns.com,80,Map()))
Jul 15, 2017 9:36:13 PM com.twitter.finagle.loadbalancer.LoadBalancerFactory$StackModule$$anonfun$8 apply
INFO: www.wontfindmeindns.com:80: name resolution is negative (local dtab: Dtab())
Jul 15, 2017 9:36:18 PM com.twitter.finagle.DnsResolver$$anonfun$apply$3$$anonfun$apply$5 apply
INFO: Failed to resolve www.wontfindmeindns.com. Error java.net.UnknownHostException: www.wontfindmeindns.com
Jul 15, 2017 9:36:18 PM com.twitter.finagle.InetResolver$$anonfun$toAddr$2 apply
INFO: Resolution failed for all hosts in ArraySeq((www.wontfindmeindns.com,80,Map()))
Jul 15, 2017 9:36:18 PM com.twitter.finagle.loadbalancer.LoadBalancerFactory$StackModule$$anonfun$8 apply
INFO: www.wontfindmeindns.com:80: name resolution is negative (local dtab: Dtab())
Jul 15, 2017 9:36:23 PM com.twitter.finagle.DnsResolver$$anonfun$apply$3$$anonfun$apply$5 apply
INFO: Failed to resolve www.wontfindmeindns.com. Error java.net.UnknownHostException: www.wontfindmeindns.com: nodename nor servname provided, or not known
// this will go on forever

Even worse: if you then make a request to this client, the Future never completes (with either a success or failure)

surya-github commented 6 years ago

I'm also facing the same issue, is there any workaround for this?