[Internal] Region Proximity: Adds spec document for migration from static table to server-provided region proximity#5738
Draft
Meghana-Palaparthi wants to merge 6 commits intomainfrom
Conversation
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. |
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. |
| **Problems with this approach:** | ||
|
|
||
| 1. **Staleness**: The lookup table is baked into each SDK binary. Adding a new Azure region or updating network topology requires an SDK release. | ||
| 2. **Approximation**: RTT values are estimates — not measured, not account-aware, not path-adaptive. |
Contributor
There was a problem hiding this comment.
with the proposed approach, are we guaranteeing the values to be measured/accurate?
|
|
||
| ### 2.1 Feature Flag | ||
|
|
||
| The gateway only populates `regionProximity` when the feature flag is enabled: |
Contributor
There was a problem hiding this comment.
what is the reason for feature flagging this? do we anticipate it to be turned off for any case?
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. |
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Template
Description
Spec-only PR. This PR adds a spec document for migration from
RegionProximityUtilstatic table to server-provided reqiov proximity.Problem Statement:
SDK currently uses and depends on
RegionProximityUtil, a hardcoded static table of estimated region-to-region RTTs baked into the SDK binary. This has one huge problem - the table goes stale as Asure adds new regions, requiring an SDK release to fix. This increases the costs of maintainability.The Cosmos DB gateway can now compute and return server-side, account-filtered, proximity-ordered region list as a
regionProximityfield in theGET / (DatabaseAccount)response. Migrating to this API eliminated the stale-table problem, provides account-scoped ordering, and removes the maintenance burden of keeping the static table in sync across the serves and every SDK.