[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16460973#comment-16460973
 ] 

elise badr commented on HTTPCLIENT-1921:
----------------------------------------

It is an API that uses spring remoting HTTP invoker (http client and http core) 
to communicate with a server. 

Test cases examples:
 * server is busy, it does not respond within 20000 milliseconds, in api, the 
configured socket time out is 10000 and pool time out 2000, max active 2: run 
10 threads: expected result is to have 8 threads throws pool time out after 
waiting 2 secs while 2 of them will throw socket time out after 10 secs.

Actual result: socket time out throws after 60 secs (our configuration of 10000 
ms is not used)
 * server is down, the connection time out is 1 sec instead of the configured 
value.

 

I tried to put breakpoints in the following getters in RequestConfig:
 * int getConnectTimeout()
 * int getSocketTimeout()
 * int getConnectionRequestTimeout()

The getters were called 3 times in 1 operation, the first time the getters are 
called, the above values are the same one as the ones i configured in the XML 
context.

The second time, i debugged -1 as value for the connect time out and connection 
request time out and 60000 for the socket time out

The third time, I debugged correct value for the connect time out and 
connection request time out and 60000 for the socket time out

 

Please let me know if you need more details.

 

 

> Time out values not correctly used
> ----------------------------------
>
>                 Key: HTTPCLIENT-1921
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1921
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>    Affects Versions: 4.5.5
>            Reporter: elise badr
>            Priority: Blocker
>              Labels: SocketTimeout, httpclient, timeout
>
> I was obliged to migrate to httpclient *4.5.5* and httpcore *4.4.9* while i 
> was upgrading to Spring 4.
> I started using the following configuration to set my time out values:
>  
> <bean id="httpClient" 
> class="org.springframework.remoting.httpinvoker.HttpComponentsHttpInvokerRequestExecutor">
>  <property name="httpClient" ref="httpClientBld"/>
>  </bean>
> <bean id="requestConfigBuilder" 
> class="org.apache.http.client.config.RequestConfig" factory-method="custom">
>  <property name="socketTimeout" value="3000" /> 
>  <property name="connectTimeout" value="4000" />
>  <property name="staleConnectionCheckEnabled" value="true"/> 
>  <property name="connectionRequestTimeout" value="2000" />
>  </bean>
> <bean id="requestConfig" factory-bean="requestConfigBuilder" 
> factory-method="build" />
> <bean id="httpClientBuilder" 
> class="org.apache.http.impl.client.HttpClientBuilder" factory-method="create">
>  <property name="defaultRequestConfig" ref="requestConfig" />
>  <property name="maxConnTotal" value="2" />
>  <property name="maxConnPerRoute" value="2" />
>  </bean>
> <bean id="httpClientBld" factory-bean="httpClientBuilder" 
> factory-method="build" />
>  
> However, while testing, the socket time out and connection time out doesn't 
> seem to be working correctly... it always waits around 1000 ms for the 
> connection timeout and 60000 for the socket time out instead of the 
> configured values. The request connection time out seems to be working fine.
> Can you please help... is it a bug from your side? or a wrong configuration 
> from my side?
>  
> Note that it seems the issues exists also in older versions as the following 
> link from stack overflow discuss a similar issue for an older version: 
> [https://stackoverflow.com/questions/21576414/setting-time-out-in-apache-http-client]
> Note that it was working fine before with Spring 3 requiring commons http 
> client



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to