Chris Eldredge created MRESOLVER-396:
----------------------------------------

             Summary: Native resolver should retry on http 429
                 Key: MRESOLVER-396
                 URL: https://issues.apache.org/jira/browse/MRESOLVER-396
             Project: Maven Resolver
          Issue Type: Improvement
            Reporter: Chris Eldredge


The Wagon http transport provider has custom logic to retry with exponential 
backoff when putting an artifact to an http endpoint and getting a 429 Too Many 
Requests response code from the server:

[https://github.com/apache/maven-wagon/blob/wagon-3.5.3/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java#L828]

The newer "native" http transporter should provide similar retry logic. One 
place this could go would be into 
[HttpTransporter.implPut]([https://github.com/apache/maven-resolver/blob/master/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporter.java#L427).]

Ideally the transport could be configured to retry on specific error codes, 
perhaps with 429 and 503 being defaults.

The lack of retry support on 429s is exacerbate in Maven 3.9 because it enables 
parallel put by default, which increases requests per second making it more 
likely that a client would encounter rate limiting or other throttling and 
overload scenarios.

 



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

Reply via email to