Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add retries to 429 errors for REST transport #16857

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

GilmoreA6
Copy link
Collaborator

@GilmoreA6 GilmoreA6 commented Dec 19, 2024

This PR adjusts the logic for REST transport error handling for client request exceptions if they are 429 - Too Many Requests errors to make use of the retry functionality. ETOR has a use case where a partner has extremely strict rate-limiting in place and we anticipate we may occasionally hit the rate limit in the course of normal operations and need to retry.

Test Steps:

  1. run ./gradlew testIntegration

Changes

  • Adjust logic in RESTTransport.kt to retry if RS receives 429 - too many requests error
  • Added integration tests to RESTTransportIntegrationTests.kt

Checklist

Testing

  • [x ] Tested locally?
  • [x ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
  • [x ] Added tests?

Linked Issues

@GilmoreA6 GilmoreA6 requested a review from a team as a code owner December 19, 2024 17:05
Copy link

github-actions bot commented Dec 19, 2024

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails

Scanned Manifest Files

Copy link

github-actions bot commented Dec 19, 2024

Test Results

1 266 tests  ±0   1 262 ✅ ±0   7m 51s ⏱️ +9s
  164 suites ±0       4 💤 ±0 
  164 files   ±0       0 ❌ ±0 

Results for commit 99e2bab. ± Comparison against base commit d56ee64.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Dec 19, 2024

Integration Test Results

 60 files   60 suites   37m 54s ⏱️
425 tests 415 ✅ 10 💤 0 ❌
428 runs  418 ✅ 10 💤 0 ❌

Results for commit 99e2bab.

♻️ This comment has been updated with latest results.

@jack-h-wang jack-h-wang added the platform Platform Team label Dec 19, 2024
@GilmoreA6 GilmoreA6 added etor and removed platform Platform Team labels Dec 19, 2024
@GilmoreA6 GilmoreA6 marked this pull request as draft December 19, 2024 23:06
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@GilmoreA6 GilmoreA6 added the platform Platform Team label Dec 20, 2024
@GilmoreA6 GilmoreA6 marked this pull request as ready for review December 20, 2024 17:15
Copy link
Collaborator

@victor-chaparro victor-chaparro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
etor platform Platform Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adjust error handling for REST Transport to retry on 429 errors
4 participants