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

Oleg Kalnichevski commented on HTTPCLIENT-2404:
-----------------------------------------------

[~jaypi75] We happily take contributions.

Oleg

> Provide comprehensive timeout configuration documentation with interaction 
> matrix and override behavior
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2404
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2404
>             Project: HttpComponents HttpClient
>          Issue Type: Wish
>          Components: HttpClient (async), HttpClient (classic)
>    Affects Versions: 5.5, 5.5.1
>            Reporter: Jens Popp
>            Priority: Major
>
> Apache HTTP Client currently exposes numerous timeout settings across 
> different configuration points (connection manager, request config, socket 
> config, etc.). Right now they are documented (as far as I was able to find) 
> only on the point, where they can be set. The lack of comprehensive 
> documentation about their interactions, precedence rules, and override 
> behavior makes it difficult to configure clients correctly—especially in 
> distributed systems where timeout handling is critical for failover and 
> performance.
> *Problem Statement:*
> As demonstrated my comment in HTTPCLIENT-2386, seemingly minor implementation 
> changes can have severe production impacts. In our case, upgrading from 5.5 
> to 5.5.1 changed timeout behavior during TLS handshake scenarios. When 
> servers under heavy load (100% CPU) could establish socket connections but 
> failed TLS handshakes, the increased timeout (defaulted back to request 
> timeout instead of connection timeout) prevented proper failover to backup 
> servers, causing service degradation.
> *Requested Documentation:*
>  # *Complete timeout inventory* - All configurable timeouts with their 
> default values and scope
>  # *Interaction matrix* - How timeouts interact when multiple apply to the 
> same operation
>  # *Override rules* - Precedence order when timeouts are set at different 
> levels (global, connection manager, request)
>  # *Lifecycle coverage* - Which timeout applies to each phase (DNS, connect, 
> TLS handshake, data transfer)
>  # *System best practices* - Recommended patterns for different scenarios



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

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

Reply via email to