Close delegate resolver from RoundRobinInetAddressResolver (#9214)

Motivation:

RoundRobinDnsAddressResolverGroup ultimately opens UDP
ports for DNS resolution. Callers likely expect that
RoundRobinDnsAddressResolverGroup#close() will close those
ports, but that is not currently true (see #9212).

Modifications:

Overrode RoundRobinInetAddressResolver#close() to close
the delegate name resolver, which in turn closes any UDP
ports used for name resolution.

Result:

RoundRobinDnsAddressResolverGroup#close() closes UDP ports
as expected. This fixes #9212.
This commit is contained in:
Jon Chambers 2019-06-04 08:13:44 -04:00 committed by Norman Maurer
parent 4ba75b99af
commit 26275e8a3d
1 changed files with 5 additions and 0 deletions

View File

@ -94,4 +94,9 @@ public class RoundRobinInetAddressResolver extends InetNameResolver {
private static int randomIndex(int numAddresses) {
return numAddresses == 1 ? 0 : ThreadLocalRandom.current().nextInt(numAddresses);
}
@Override
public void close() {
nameResolver.close();
}
}