[
https://issues.apache.org/jira/browse/HTTPCORE-357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski updated HTTPCORE-357:
---------------------------------------
Fix Version/s: 4.4
Isaac
This code is probably needed for SNI support in Java 7. See this long and
unpleasant story for details: HTTPCLIENT-1119. I'll think of adding a config
parameter for disabling the call optionally if it cannot be avoided without
losing SNI.
Oleg
> Option to disable DNS lookup on SSLIOSession
> --------------------------------------------
>
> Key: HTTPCORE-357
> URL: https://issues.apache.org/jira/browse/HTTPCORE-357
> Project: HttpComponents HttpCore
> Issue Type: Improvement
> Components: HttpCore NIO
> Affects Versions: 4.3
> Reporter: Isaac Cruz Ballesteros
> Fix For: 4.4
>
>
> The class org.apache.http.nio.reactor.ssl.SSLIOSession is performing a DNS
> lookup in line 125:
> if (address instanceof InetSocketAddress) {
> String hostname = ((InetSocketAddress) address).getHostName();
> int port = ((InetSocketAddress) address).getPort();
> this.sslEngine = sslContext.createSSLEngine(hostname, port);
> } else {
> this.sslEngine = sslContext.createSSLEngine();
> }
> This lookup is not necessary to create the SSL engine (the method without
> parameters works the same), and it causes performance issues if the DNS
> server configured is not very fast. In my case, using a single thread, when
> receiving 50 requests at the same time, the SSL handshake takes more than two
> minutes and the clients are timing out. Checking the java thread stack, the
> thread is always stuck on this lookup, waiting for the DNS server which
> sometimes takes around 4 seconds to answer.
> When not using SSL there's no lookup so everything works.
> If this lookup makes sense in some cases (I don't know much on SSL
> internals), maybe there should be an option to disable the lookup
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]