Github user anmolnar commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/451#discussion_r186591545 --- Diff: src/java/main/org/apache/zookeeper/client/StaticHostProvider.java --- @@ -111,9 +154,18 @@ public InetSocketAddress next(long spinDelay) { lastIndex = 0; } - return serverAddresses.get(currentIndex); + InetSocketAddress curAddr = serverAddresses.get(currentIndex); + + String curHostString = getHostString(curAddr); + List<InetAddress> resolvedAddresses = new ArrayList<InetAddress>(Arrays.asList(this.resolver.getAllByName(curHostString))); + if (resolvedAddresses.isEmpty()) { + throw new UnknownHostException("No IP address returned for address: " + curHostString); --- End diff -- I believe the expectation - and the original behaviour- is to loop forever until the DNS problem is fixed. Even if we don't do it here, the caller will. I'd loop here infinitely. Also should keep an eye on spinDelays to avoid hammering the logic.
---