Github user fpj commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/451#discussion_r186690242
--- 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 think it is fine to loop indefinitely because the client needs it for
progress. We need a way to break the loop in the case the client closes, though.
---