-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[v2] Consolidate storage selection into jaeger_storage extension #6225
Comments
@yurishkuro This proposal sounds good to me. I can get started on the implementation. For the first PR, I'm thinking of adding the |
I actually tried doing this the other day, but realized a couple of limitations of such refactoring:
|
@yurishkuro Yeah, I ran into the same issue while trying to do this as well. Do you have any thoughts on how we should proceed with the given limitations? |
Need to think more about it, maybe give up. It's a breaking change to config, plus the multi-storage issue above, so the trade-off is not an obvious benefit. |
I think I made a small mistake in the design of the v2 storage configuration. The
jaeger_storage
extension defines configurations for all storage backends, but does not actually takes a position which ones are which. This leads to two problems:jaeger_storage_exporter
andjaeger_query
both requireTraceStorage
name which they use to retrieve a storage factory fromjaeger_storage
is_archive
input parameter to customize the backend implementation specifically for archive storage needs. However, in the current setupjaeger_storage
does not know this distinction, so in [WIP] Refactor storage factories to hold one configuration #6156 a new config flag is being proposed, which is technically redundant.Proposal
Move selection of specific storage implementations into
jaeger_storage
extension as well. Right now the config might look like:We can add a new section that would explicitly assign the roles to different backends:
And we would remove the corresponding entries from
jaeger_query
and exporter. Currently query/exporter use the GetFactory(name) function from the extension, instead they would be asking for specific role likeGetTracesStorageFactory
,GetTraceArchiveStorageFactory
, etc.Benefits:
jaeger_storage
will know to which role a particular backend is assigned, so when instantiating a factory it can pass additional flags likeis_archive
as neededThe text was updated successfully, but these errors were encountered: