Hi,

We use httpcomponents core for sending high volume of data through SSL 
connection. Right now we have encountered an issue: if the first nameserver is 
out of rotation, the performance is vastly degraded. The initial investigation 
found that there is this class "org.apache.http.nio.pool.AbstractNIOConnPool" 
in which the "requestCompleted" method has a lock on a block of code, where the 
connection is created. During the connection creation, the constructor of 
"org.apache.http.nio.reactor.ssl.SSLIOSession" will do a reverse DNS lookup 
through

 final 
String<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/String.java#String>
 hostname = 
((InetSocketAddress<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/net/InetSocketAddress.java#InetSocketAddress>)
 
address).getHostName<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/net/InetSocketAddress.java#InetSocketAddress.getHostName%28%29>();

There is a cache DNS TTL setting for enable the cache for ip lookup by name. 
But I didn't found any setting for enabling the cache for reverse dns lookup.  
So the question is: is there any way to avoid this reverse DNS lookup?


Thanks,
Huibing

Reply via email to