Skip to content

[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
users/Meghana-Palaparthi/RegionProximityApiMigration
Draft

[Internal] Region Proximity: Adds spec document for migration from static table to server-provided region proximity#5738
Meghana-Palaparthi wants to merge 6 commits intomainfrom
users/Meghana-Palaparthi/RegionProximityApiMigration

Conversation

@Meghana-Palaparthi
Copy link
Copy Markdown
Contributor

Pull Request Template

Description

Spec-only PR. This PR adds a spec document for migration from RegionProximityUtil static 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 regionProximity field in the GET / (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.

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.

Comment thread docs/region-proximity-api-migration.md
**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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

with the proposed approach, are we guaranteeing the values to be measured/accurate?

Comment thread docs/region-proximity-api-migration.md

### 2.1 Feature Flag

The gateway only populates `regionProximity` when the feature flag is enabled:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

what is the reason for feature flagging this? do we anticipate it to be turned off for any case?

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.

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