Bo Xing created HTTPCORE-391:
--------------------------------
Summary: SocketTimeoutExceptions thrown in case of connection
timeouts
Key: HTTPCORE-391
URL: https://issues.apache.org/jira/browse/HTTPCORE-391
Project: HttpComponents HttpCore
Issue Type: Improvement
Components: HttpCore NIO
Affects Versions: 4.3.2
Reporter: Bo Xing
Fix For: 4.3.3
When a connection timeout happens, a SocketTimeoutException is thrown with no
context at all. As a result, applications are unable to differentiate between
connection timeouts and actual socket timeouts. Is there a reason why it is not
a ConnectionTimeoutException that is thrown here? I understand that
ConnectionTimeoutException is part of the sync client library. But can we
create a similar one in the async client library, and let the RouteSpecificPool
class throw it?
Please advise. Thanks!
The stack trace is as follows.
java.net.SocketTimeoutException
at
org.apache.http.nio.pool.RouteSpecificPool.timeout(RouteSpecificPool.java:170)
at
org.apache.http.nio.pool.AbstractNIOConnPool.requestTimeout(AbstractNIOConnPool.java:546)
at
org.apache.http.nio.pool.AbstractNIOConnPool$InternalSessionRequestCallback.timeout(AbstractNIOConnPool.java:779)
at
org.apache.http.impl.nio.reactor.SessionRequestImpl.timeout(SessionRequestImpl.java:177)
at
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processTimeouts(DefaultConnectingIOReactor.java:212)
at
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:157)
at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:348)
at
org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:189)
at
org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase.doExecute(CloseableHttpAsyncClientBase.java:67)
at
org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase.access$000(CloseableHttpAsyncClientBase.java:38)
at
org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:57)
at java.lang.Thread.run(Thread.java:724)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]