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

Konrad Windszus updated MRESOLVER-385:
--------------------------------------
    Description: 
Due to issues with "Connection reset" (outlined in MRESOLVER-383) as first 
measure the default value of {{aether.connector.http.connectionMaxTtl}} should 
be reduced from 600 (the default value used in Wagon is 300).

Some references for connection idle timeouts of common proxies (towards the 
client):
* The default idle timeout is 4 minutes = 240 seconds for *Azure Loadbalancers* 
(https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-tcp-idle-timeout?tabs=tcp-reset-idle-portal)
* The default idle timeout is for *AWS ALBs* is 60 seconds 
(https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout)
* For *Fastly CDN* the default idle timeout for clients is 10 
seconds(https://www.fastly.com/blog/reusing-backend-connections-increase-performance#keep-alive-timeouts)

So the current default of 600 seconds seem too high. The questions is to what 
it should be reduced to given that the connection is currently anyhow 
revalidated before use after being idle for 2 seconds or longer:

{quote}
The code now only checks the connection if the elapsed time since the last use 
of the connection exceeds the timeout that has been set. The default timeout is 
set to 2000ms
{quote}
(https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html)

  was:
Due to issues with "Connection reset" (outlined in MRESOLVER-383) as first 
measure the default value of {{aether.connector.http.connectionMaxTtl}} should 
be reduced from 600 (the default value used in Wagon is 300).

Some references for connection idle timeouts of common proxies (towards the 
client):
* The default idle timeout is 4 minutes = 240 seconds for *Azure Loadbalancers* 
(https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-tcp-idle-timeout?tabs=tcp-reset-idle-portal)
* The default idle timeout is for *AWS ALBs* is 60 seconds 
(https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout)
* For *Fastly CDN* the default idle timeout for clients is 10 
seconds(https://www.fastly.com/blog/reusing-backend-connections-increase-performance#keep-alive-timeouts)

So the current default of 600 seconds seem too high. The questions is to what 
it should be reduced to given that the connection is only revalidated before 
use after 2 seconds expired:

{quote}
The code now only checks the connection if the elapsed time since the last use 
of the connection exceeds the timeout that has been set. The default timeout is 
set to 2000ms
{quote}
(https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html)


> Reduce default value for aether.connector.http.connectionMaxTtl
> ---------------------------------------------------------------
>
>                 Key: MRESOLVER-385
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-385
>             Project: Maven Resolver
>          Issue Type: Improvement
>            Reporter: Konrad Windszus
>            Priority: Major
>
> Due to issues with "Connection reset" (outlined in MRESOLVER-383) as first 
> measure the default value of {{aether.connector.http.connectionMaxTtl}} 
> should be reduced from 600 (the default value used in Wagon is 300).
> Some references for connection idle timeouts of common proxies (towards the 
> client):
> * The default idle timeout is 4 minutes = 240 seconds for *Azure 
> Loadbalancers* 
> (https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-tcp-idle-timeout?tabs=tcp-reset-idle-portal)
> * The default idle timeout is for *AWS ALBs* is 60 seconds 
> (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#connection-idle-timeout)
> * For *Fastly CDN* the default idle timeout for clients is 10 
> seconds(https://www.fastly.com/blog/reusing-backend-connections-increase-performance#keep-alive-timeouts)
> So the current default of 600 seconds seem too high. The questions is to what 
> it should be reduced to given that the connection is currently anyhow 
> revalidated before use after being idle for 2 seconds or longer:
> {quote}
> The code now only checks the connection if the elapsed time since the last 
> use of the connection exceeds the timeout that has been set. The default 
> timeout is set to 2000ms
> {quote}
> (https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html)



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

Reply via email to