Repository navigation
query_store: attribute replica role on Azure SQL DB, on live GP + Hyperscale evidence #1884
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
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
e975f54
query_store: attribute replica role on Azure SQL DB; fix the 53/55 or…
erikdarlingdata 93ca0f8
Merge remote-tracking branch 'origin/dev' into fix/1872-azure-replica…
erikdarlingdata 7e9febd
Merge remote-tracking branch 'origin/dev' into fix/1872-azure-replica…
erikdarlingdata File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Risk: this flips the gate ON for every Azure SQL DB (all engine-edition-5 tiers), but the live evidence only covers General Purpose and Hyperscale, neither with real secondary replicas.
The PR's own follow-up (#1887) admits Business Critical / Hyperscale-with-HA-replicas / provisioned Hyperscale are unverified — but Business Critical is exactly the tier
replica_roleexists to serve (it has real AG-style secondary replicas), and it's untested here.If
sys.query_store_replicas/replica_group_iddon't bind on some tier, the failure isn't loud. I traced the per-database loop that runs this query (Lite/Services/RemoteCollectorService.DefinitionRunner.cs:135-213, mirrored inDarling/PerformanceMonitor.Darling.Service/DarlingCollectorRunner.cs): aSqlExceptionon one database is caught and logged at Debug level, then that database is silently skipped (RemoteCollectorService.DefinitionRunner.cs:206-213). Only a 100%-failure-across-every-database-in-the-cycle case surfaces a Warning and rethrows.So on a server with a mix of tiers (e.g. some GP, some Business Critical databases), a bind failure on the untested tier would quietly drop Query Store collection for just those databases, with no operator-visible signal at default log levels — the exact "every database going dark" scenario the removed comment warned about becomes instead a silent partial loss, which is arguably harder to notice.
Given the comment's own framing of the risk, might be worth verifying against a database with actual secondary replicas (Business Critical, or provisioned Hyperscale with HA) before this ships broadly, rather than deferring that check to #1887 after the gate is already on in production for all tiers.