|
40 | 40 |
|
41 | 41 | <properties> |
42 | 42 | <!-- |
| 43 | + Resolver specific configuration keys can be found here: https://maven.apache.org/resolver/configuration.html |
| 44 | +
|
43 | 45 | This is to work around an issue where Maven builds in Github Actions would randomly fail. |
44 | 46 | There is some evidence that points at Azure networking as the root cause where it closes idle connections (silently) after 4 minutes. |
45 | 47 | Maven would then sometimes reuse an "old" connection from its connection pool and would encounter issues due to these connection closures. |
|
51 | 53 | --> |
52 | 54 |
|
53 | 55 | <!-- Old name: maven-resolver 1.x, Maven 3.x --> |
54 | | - <aether.connector.http.connectionMaxTtl>30</aether.connector.http.connectionMaxTtl> |
| 56 | + <aether.connector.http.connectionMaxTtl>25</aether.connector.http.connectionMaxTtl> |
55 | 57 |
|
56 | 58 | <!-- New name: maven-resolver 2.x, as of Maven 4.x --> |
57 | | - <aether.transport.http.connectionMaxTtl>30</aether.transport.http.connectionMaxTtl> |
| 59 | + <aether.transport.http.connectionMaxTtl>25</aether.transport.http.connectionMaxTtl> |
| 60 | + |
| 61 | + <!-- |
| 62 | + By default, requests are retried 3 times. We increase the count slightly to hopefully get less failing |
| 63 | + builds in CI. |
| 64 | + --> |
| 65 | + <aether.transport.http.retryHandler.count>5</aether.transport.http.retryHandler.count> |
| 66 | + |
| 67 | + <!-- |
| 68 | + By default, retries wait for 5000 milliseconds (5 seconds). We increase this to 10000 milliseconds |
| 69 | + (10 seconds) to spam the Nexus instance a little less. |
| 70 | + --> |
| 71 | + <aether.transport.http.retryHandler.interval>10000</aether.transport.http.retryHandler.interval> |
| 72 | + |
| 73 | + <!-- |
| 74 | + Servers can respond with `Retry-After` headers. By default, the value is capped at 300000 milliseconds (300 |
| 75 | + seconds). We reduce this to 60000 (60 seconds) to avoid super long retry intervals. |
| 76 | + --> |
| 77 | + <aether.transport.http.retryHandler.intervalMax>60000</aether.transport.http.retryHandler.intervalMax> |
| 78 | + |
| 79 | + <!-- |
| 80 | + This is an option we can experiment with in the future. Settings this to false will result in no connection |
| 81 | + pooling, which should help to avoid stale/long-lasting connections which can become inactive and be killed by |
| 82 | + the Azure networking. |
| 83 | + --> |
| 84 | + <!-- <aether.transport.http.reuseConnections>false</aether.transport.http.reuseConnections> --> |
58 | 85 | </properties> |
59 | 86 | </profile> |
60 | 87 | </profiles> |
|
0 commit comments