Azure / Azure/azure-sdk-for-rust
Kubernetes/AKS DNS resolution improvement
- Dominant language
- Rust
- Stars
- 884
- Forks
- 365
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 109
Description
### Feature Summary
Enable DNS dot-suffix for Direct mode to avoid Kubernetes ndots latency
### Feature Description
See https://github.com/Azure/azure-cosmos-dotnet-v3/pull/5731
Feature: Enable DNS dot-suffix for Direct mode to avoid Kubernetes ndots latency
Description
Fixes https://github.com/Azure/azure-cosmos-dotnet-v3/issues/5730
🤖 This PR was authored by GitHub Copilot as part of an automated issue triage and resolution workflow.
On Kubernetes with ndots:5, Cosmos DB endpoints like myaccount.documents.azure.com (only 3 dots) trigger multiple failed DNS search-domain expansions before the absolute lookup succeeds. This adds 50-200ms latency per DNS resolution in Direct mode (TCP/RNTBD).
This fix leverages the existing dnsResolutionFunction injection point on StoreClientFactory to append a trailing dot (.) to hostnames at DNS resolution time, making them fully qualified (FQDN). This signals the DNS resolver to skip search-domain expansion entirely.
### Use Case
_No response_
### Alternatives
_No response_
### Additional Context
_No response_
Contributor guide
Research direction
Start with the referenced PR 5731, then trace the Rust SDK's Direct-mode DNS resolution path and check whether it exposes a StoreClientFactory or equivalent dnsResolutionFunction injection point. Done means DNS lookups use a trailing dot for Direct-mode hostnames and the relevant Rust tests demonstrate that Kubernetes ndots search-domain expansion is avoided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, kubernetes, rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100