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]
