Skip to content

Conversation

@kundadebdatta
Copy link
Member

Pull Request Template

Description

This PR is covering the below CRI scenario in general:

  • Request Throttled (Status Code: 429) with System Resource Unavailable (Sub Status Code: 3092).

Background:

For 429/3092 (Request Throttled/ SystemResourceUnavailable), we would only want to short-circuit this to retry cross-region quickly when we can actually retry cross region (not a write in single master) - and for reads only when it is returned from all replica in a region. The latter is extremely unlikely - so, I would probably compromise on a pragmatic approach and simply short-circuit by mapping 429/3092 to a 503 for write operations when multi-master is enabled (and there is >1 write regions).
That way we get the cross-region retry in the scenario where this is most critical.

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)

Closing issues

To automatically close an issue: closes #4656

@kundadebdatta kundadebdatta self-assigned this Sep 13, 2024
@kundadebdatta kundadebdatta added Do Not Review Marks a PR in "work in progress" state. auto-merge Enables automation to merge PRs labels Sep 13, 2024
@kundadebdatta kundadebdatta marked this pull request as ready for review September 13, 2024 22:47
@kundadebdatta kundadebdatta removed Do Not Review Marks a PR in "work in progress" state. labels Sep 14, 2024
@kundadebdatta kundadebdatta marked this pull request as draft September 14, 2024 05:01
auto-merge was automatically disabled September 14, 2024 05:01

Pull request was converted to draft

@kundadebdatta kundadebdatta marked this pull request as ready for review September 15, 2024 06:44
@microsoft-github-policy-service microsoft-github-policy-service bot merged commit 7839885 into master Sep 17, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot deleted the users/kundadebdatta/4656_cross_regional_retry_on_429_3092 branch September 17, 2024 18:17
NaluTripician pushed a commit that referenced this pull request Sep 18, 2024
* Initial code changes to throw 503 on 429/3092.

* Updated client retry policy. Added more tests to cover 429/3092.

* Code changes to update direct package version. Updating the tests.

* Code changes to refactor client retry policy.

* Minor code cleanup.

* Reverting the direct version bump up change.

* Code changes to address some of the review comments.

* Code changes to move failover logic in client retry policy.

* Minor code clean up.

* Code changes to clean up some cosmetic items.

* Further clean up.

* Code changes to address review comments.

* Minor refactor to address cosmetic update.

* Code changes to address cosmetic review comment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge Enables automation to merge PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ICM-537938324 - Analyze the 410-Lease Not Found and Attempt to Fail Faster

4 participants