tree cad210995a908a491f6c994020570b37f57e0d58
parent 1c9839f1fb7c12c3d0f6e72c8397e4f404d8c7e0
author Lari Hotari <lhotari@users.noreply.github.com> 1604474768 +0200
committer GitHub <noreply@github.com> 1604474768 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfoleQCRBK7hj4Ov3rIwAAdHIIAJiaBaH9r4fCkOUoACCxPe/e
 8Ajhs57GJcP8cTIes97KFDNxzCwt5YdW6STjMnozF7p+P9Uljsg3W+cXVXkzI9S0
 P1+sOXoR8KqvHWfIJusd0Bqa3j8M9WXhJ7tnGoLwXU2YQDttrYCe9R7zlaGars4B
 rhDnTtxCjwLsPbg7twjlYd9c8V51IHKAX5xPyv3sAu/WFBDQ9Zdi+rgNrUJ4RWqr
 61Ef3WS2dbr5IKLbfeuFfz3GX5x+baX3LGy1XMWum3uE58F0c1J9cJFpSJEKFnXl
 q+NuXeo0X6t67hz2c/05MnUIm4/PFmSPKlL0GwTUaqZPlipDELqbBJM7sG2Tfv4=
 =1F4t
 -----END PGP SIGNATURE-----
 

Limit maven http connection pool TTL in Github flows (#2460)

### Motivation

Fixes "Transfer failed for https://repo.maven.apache.org/...
.jar: Connection reset" type of failures in Github Flows environment such as
```
Error:  Failed to execute goal on project bookkeeper-common: Could not resolve dependencies for project org.apache.bookkeeper:bookkeeper-common:jar:4.12.0-SNAPSHOT: Could not transfer artifact org.jctools:jctools-core:jar:2.1.2 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/jctools/jctools-core/2.1.2/jctools-core-2.1.2.jar: Connection reset -> [Help 1]
```

### Changes

Set `maven.wagon.httpconnectionManager.ttlSeconds` to 25 seconds.
Besides this, set `maven.wagon.http.retryHandler.count` to 3 retries.

https://issues.apache.org/jira/browse/WAGON-545
contains a recommendation "Azure users shall set the TTL to 240 seconds or less."

The reason for the 25 second TTL is to ensure that it's shorter than any common
firewall or NAT timeout. Some NATs have a 30 second idle timeout although
that is very rare. There shouldn't be harm in using the 25 second TTL since
the connection pool will be able to pool connections well with a 25 second TTL.

The documentation for `maven.wagon.httpconnectionManager.ttlSeconds` is
available in the source code:
https://github.com/apache/maven-wagon/blob/wagon-3.4.1/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java#L297-L305

Documentation for `maven.wagon.http.retryHandler.count` is in
https://maven.apache.org/wagon/wagon-providers/wagon-http/
"Any retry handler can only react to exceptions when executing the request and
receiving the response head. It will not salvage in-flight failures of ongoing
response body streams." Therefore the retry count setting is a bit
different than expected. WAGON-545 explains that ConnectionExceptions
aren't part of the retried exceptions by default. If such issues become
problems, it's possible to configure the retry handler in a more fine
grained way.

This is similar to the change made in Pulsar: https://github.com/apache/pulsar/pull/8386