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

Oleg Kalnichevski commented on HTTPCLIENT-2299:
-----------------------------------------------

> But what is the difference between the two configurations in SocketConfig and 
> ConnectionConfig? Which one do you recommend using? Or they are the same.

[~ksewen] There is no difference. It is a matter of distinct logical layers in 
the library. The SocketConfig is a core level configuration applicable to 
sockets at the initialization time. The ConnectionConfig is a client connection 
management level applicable to managed connection. The socket timeout from 
SocketConfig gets applied to a newly created socket (prior to TLS and other 
connection initialization logic) The socket timeout from ConnectionConfig gets 
applied on a fully initialized and connected connection (post TLS).

Oleg

> The socketTimeout parameter in ConnectionConfig does not take effect when 
> reusing an existing connection.
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2299
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2299
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (classic)
>    Affects Versions: 5.3-alpha1
>            Reporter: ksewen
>            Priority: Minor
>             Fix For: 5.2.2, 5.3-alpha2
>
>         Attachments: invalid-socket-time-out.jpg
>
>
> I have created an instance of PoolingHttpClientConnectionManager and set a 
> socket timeout of 5 seconds in the ConnectionConfig. In this case, when 
> accessing a backend service with a response time of 10 seconds for the first 
> time, a SocketTimeoutException was correctly thrown. But in the second 
> request, when reusing an already established connection, the client waited 
> for 10 seconds and completed the request. Instead, if I set a 5-second 
> SoTimeout in SocketConfig and run the test again. The setting works.
> runnable test cases: [https://github.com/ksewen/httpclient-demo]
> I have uploaded an attachment that demonstrates the configured value of the 
> {{SocketTimeout}} when the connection is being reused.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to