rjgoyln opened a new pull request, #11375:
URL: https://github.com/apache/ozone/pull/11375

   ## What changes were proposed in this pull request?
   
   CI still loses jobs to `429 Too Many Requests` from Maven Central — most 
recently [`license` on run 
35516534110](https://github.com/apache/ozone/actions/runs/35516534110/job/106094445653#step:13:20),
 which gave up on a single missing POM after 4m39s. A PR that touches `pom.xml` 
misses the exact Maven cache key, so every job in the run fetches the delta 
from Central on its own.
   
   HDDS-16359 made these settings effective; the values it chose are too 
aggressive. `count=10` spends 11 requests and 275s on one download, which 
neither rides out a sustained 429 nor fails fast, and it adds load to a service 
that is already asking us to slow down. Sonatype's guidance is to back off 
rather than retry harder, and Hudi and NiFi settled on `count=5` with a 30s 
interval cap.
   
   - Reduce `retryHandler.count` from 10 to 5.
   - Add `retryHandler.intervalMax=30000` to bound the wait a `Retry-After` 
header can impose.
   - Add `connectionMaxTtl=25` so a pooled connection is not reused past 
Central's idle close.
   - Drop `-Dhttp.keepAlive=false`, which the resolver's HttpClient never reads.
   
   `intervalMax` is a give-up threshold rather than a clamp, so a `Retry-After` 
above 30s now fails the download outright instead of parking a runner for up to 
25 minutes at the previous default. It stays clear of the linear backoff, whose 
largest interval at `count=5` is 25s.
   
   Ratis copied the current values in RATIS-2698 and would need the same change 
to stay in sync.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-16648
   
   ## How was this patch tested?
   
   Maven 3.9.16 resolving a missing POM through a local mirror that always 
answers 429:
   
   | settings | `Retry-After` | requests | elapsed |
   | --- | --- | ---: | ---: |
   | current | none | 11 | 277.4s |
   | this PR | none | 6 | 77.0s |
   | current | `60` | 11 | 602.4s |
   | this PR | `60` | 1 | 2.3s |
   
   The 277.4s baseline matches what the `license` job above spent before 
failing.
   
   Changing `ci.yml` and `check.yml` makes selective checks run the full suite, 
so every job in this run builds with the new settings.
   
   Generated-by: Claude Code (Opus 5)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to