apollo_storage: add DynamicConfigProvider trait for storage reader server#12876
Conversation
This was referenced Feb 26, 2026
Collaborator
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
c145a93 to
1a3379f
Compare
2cf61c8 to
0fee538
Compare
1a3379f to
b24f87e
Compare
0fee538 to
71fd13d
Compare
b24f87e to
938a6ac
Compare
71fd13d to
32b347d
Compare
938a6ac to
062d992
Compare
32b347d to
c63745d
Compare
062d992 to
9af2095
Compare
c63745d to
be9e90b
Compare
9af2095 to
d29278c
Compare
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.

Note
Medium Risk
Changes the storage reader HTTP server to consult an async dynamic config source on every request and threads a new provider dependency through storage initialization across multiple components; misconfiguration or provider failures can now cause 500s/availability changes at runtime.
Overview
Storage reader server enablement is now truly dynamic. The server no longer relies on a fixed
enabledflag captured at startup; it calls a new asyncDynamicConfigProvideron each/storage/queryrequest and returns 503 when the latest config disables the endpoint.This introduces
DynamicConfigProvider/SharedDynamicConfigProvider(plusDynamicConfigError) inapollo_storage, updatesStorageReaderServer::new/create_storage_reader_serverandopen_storage_with_metric_and_serverto require a provider, and wires concrete providers inbatcher,class_managerstorage, andstate_syncto fetch dynamic config fromconfig_manager_client(with tests updated to use stub providers).Written by Cursor Bugbot for commit d29278c. This will update automatically on new commits. Configure here.