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

feat: introduce http request retries on tcp failures #562

Conversation

nikolay-komarevskiy
Copy link
Contributor

@nikolay-komarevskiy nikolay-komarevskiy commented May 27, 2024

Description

RouteProvider which is used to dynamically retrieve routing URLs for HTTP calls, can potentially return unhealthy URLs. This will be especially acute once API Boundary Node decentralization feature is released, as node providers will be the ones responsible for API nodes maintenance.

If an HTTP request fails on a URL with a network-related error (e.g., host unreachable, connection timeout, connection refused), then this request can be safely retried by using an alternative routing URL, generated by the RouteProvider. This retrying policy aims at improving user experience.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

Checklist:

  • The title of this PR complies with Conventional Commits.
  • I have edited the CHANGELOG accordingly.
  • I have made corresponding changes to the documentation.

@nikolay-komarevskiy nikolay-komarevskiy requested a review from a team as a code owner May 27, 2024 08:55
@nikolay-komarevskiy nikolay-komarevskiy changed the title feat: introduce request retries on tcp failures feat: introduce http request retries on tcp failures May 27, 2024
@nikolay-komarevskiy nikolay-komarevskiy marked this pull request as draft May 27, 2024 09:04
@nikolay-komarevskiy nikolay-komarevskiy force-pushed the BOUN-1114-introduce-request-retries-on-tcp-errors branch 3 times, most recently from bda4fa1 to 6a9eb06 Compare May 29, 2024 09:01
@nikolay-komarevskiy nikolay-komarevskiy force-pushed the BOUN-1114-introduce-request-retries-on-tcp-errors branch from 6a9eb06 to 72f0fff Compare May 29, 2024 09:12
@nikolay-komarevskiy nikolay-komarevskiy marked this pull request as ready for review May 29, 2024 09:35
@nikolay-komarevskiy nikolay-komarevskiy marked this pull request as draft May 29, 2024 09:41
@nikolay-komarevskiy nikolay-komarevskiy force-pushed the BOUN-1114-introduce-request-retries-on-tcp-errors branch from 0a471aa to e2e2674 Compare May 30, 2024 19:50
@nikolay-komarevskiy nikolay-komarevskiy force-pushed the BOUN-1114-introduce-request-retries-on-tcp-errors branch from e2e2674 to e536138 Compare May 30, 2024 20:01
@nikolay-komarevskiy nikolay-komarevskiy marked this pull request as ready for review May 30, 2024 20:09
@adamspofford-dfinity adamspofford-dfinity merged commit c934d17 into dfinity:main May 31, 2024
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants