[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski resolved HTTPCLIENT-883.
------------------------------------------

    Resolution: Fixed

Fixed in trunk and 4.0.x branch

Oleg

> SO_TIMEOUT is not set on a request level
> ----------------------------------------
>
>                 Key: HTTPCLIENT-883
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-883
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.0 Final
>            Reporter: Moshe Ben-Shoham
>             Fix For: 4.0.1, 4.1 Alpha1
>
>
> The scenario is as follows: I'm doing two consecutive requests to the same 
> host, using a multi-threaded (or thread safe) connection pool manager. The 
> first invocation has a timeout of 10s and the second has a timeout of 30s. 
> In version 3.1 of HttpClient all works well, but in 4.0 I get a timeout 
> exception in the second request, after ~10 seconds, which means the first 
> timeout is used.
> Looking at the code, I see that in version 3.1, the 
> HttpMethodDirector.executeWithRetry() method invokes a method named 
> applyConnectionParams() that took care of setting the timeout taken from the 
> request on the socket. 
> But in version 4.0, the only place I see the timeout is set on the socket is 
> when DefaultRequestDirector.execute(HttpHost, HttpRequest, HttpContext) opens 
> a connection using the managedConn.open() method. Since the connection is 
> reused between the requests, the second request uses a socket with a timeout 
> of the first request.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to