From 9de989bd64e5f95301dfb4258ca0184cb270f110 Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Thu, 19 Jan 2023 09:18:03 -0800 Subject: [PATCH] okhttp: Avoid DNS lookup in test Our tests assume localhost is in /etc/hosts or uses some other form of local-only resolution. But that wouldn't apply to "host". What was happening is this was causing a DNS resolution, which would fail, and the InetSocketAddress would be "unresolved". Thus, the equivalent and faster code would be `InetSocketAddress.createUnresolved("host", 1234)`. But there doesn't seem to be any reason to avoid localhost in this test, so swap to the more typical solution instead. This should avoid flakes like: ``` io.grpc.okhttp.OkHttpClientTransportTest > invalidAuthorityPropagates FAILED org.junit.runners.model.TestTimedOutException: test timed out after 10 seconds at java.base@11.0.17/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.base@11.0.17/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:929) at java.base@11.0.17/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1529) at java.base@11.0.17/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:848) at java.base@11.0.17/java.net.InetAddress.getAllByName0(InetAddress.java:1519) at java.base@11.0.17/java.net.InetAddress.getAllByName(InetAddress.java:1378) at java.base@11.0.17/java.net.InetAddress.getAllByName(InetAddress.java:1306) at java.base@11.0.17/java.net.InetAddress.getByName(InetAddress.java:1256) at java.base@11.0.17/java.net.InetSocketAddress.(InetSocketAddress.java:220) at app//io.grpc.okhttp.OkHttpClientTransportTest.invalidAuthorityPropagates(OkHttpClientTransportTest.java:1687) ``` --- .../src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java b/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java index fcc5e0d238..969afc00d2 100644 --- a/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java +++ b/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java @@ -1685,7 +1685,7 @@ public class OkHttpClientTransportTest { public void invalidAuthorityPropagates() { clientTransport = new OkHttpClientTransport( channelBuilder.buildTransportFactory(), - new InetSocketAddress("host", 1234), + new InetSocketAddress("localhost", 1234), "invalid_authority", "userAgent", EAG_ATTRS,