-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[jaeger-v2] Rethink components configuration to align with OTEL #5229
Comments
## Which problem is this PR solving? - part of #5229 ## Description of the changes - added more grpc storage client configuration to align with otel ``` configgrpc.ClientConfig `mapstructure:",squash"` exporterhelper.TimeoutSettings `mapstructure:",squash"` ``` These are not all the configs, but i'll add more based on feedback on this initial approach. ## How was this change tested? - not tested yet ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Harshvir Potpose <[email protected]> Signed-off-by: Harshvir Potpose <[email protected]> Signed-off-by: Yuri Shkuro <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]>
@yurishkuro What is the status of this issue? Is there anything I can help with? |
yes, plenty. I just updated the description. |
@yurishkuro are the configs for v1 supposed to be in |
yes, that's accurate |
@yurishkuro how come some stores still have the v2 configuration living in |
We are in the transition period. Moving them doesn't solve anything, having configs side by side is actually convenient. The long term goal is to only have v2 configurations. Wwe started v2 by just wrapping v1 configs. For some backends we did preliminary work of cleaning up and making v2 the "primary" config, i.e. the Factory uses v2 config directly, but v1 config still drives the v1 cli flags and can be transformed into v2. We could continue using this pattern. The reason we want v2 configs to be primary is to ensure that all their settings are actually used by the storage implementation - there's less guarantee of that if v1 is primary and v2 is translated into v1. But overall this ticket is about what v2 config look like, rather than where they are located. |
@yurishkuro sounds good! and where should the migration doc be created? is any public google doc fine? Or do we want to have them in a README in this repo? |
yes a google doc is fine |
@yurishkuro PR for memory storage component at #5925 |
@yurishkuro PR for badger storage component at #5927 |
@yurishkuro PR for Cassandra component ready for review at #5949. |
@yurishkuro PR for Query Service ready for review at #5998 |
@yurishkuro we can link the following PRs to the issue description for badger: |
@yurishkuro what is the |
if you run |
@yurishkuro Got it! So for this part we just need to create a migration guide? No code changes? |
Perhaps, depends on what the comparison would show. |
@yurishkuro Thanks! Would you also be able to help me understand how to solve |
We had a number of nasty workarounds because we couldn't use defaults. For instance, Kafka e2e test needs to physically rewrite the config because we can't just have a var for encoding without default (it makes the config invalid by default). I think it's sufficient to just fix that to close the item, since we can add more vars/defaults incrementally as the needs arise. |
@yurishkuro we can link the following issues to the issue description as they are complete / in-review: |
For Kafka, we have this document. |
@yurishkuro Did you want me to link this somewhere? |
no - I keep all links in the v2 RFC doc. |
@yurishkuro can link #6041 for grpc storage in the issue description |
@yurishkuro looks like we're pretty close to finishing this issue - do you know what the status is of #5790? any help needed there? |
I had some comments that the author did not respond to. We can ping the author on the issue - if they don't have time to continue, we could take over that PR, it was nearly done iirc. |
Sorry for the late reply. After @yurishkuro reivew and adjustment, I feel that the logic here is rather complicated for me. I can no longer make the changes at present, and hope to get more help from the maintainer or take over directly. |
@JaredTan95 no worries! I can try picking up your PR and try addressing the feedback. |
@JaredTan95 @yurishkuro I've opened a new PR at #6060 since I didn't have permission to modify the existing ones. I've addressed most of the feedback that was left on the original PR. Please take a look and let me know if you have any other feedback. |
@yurishkuro The elasticsearch configurations are now complete as well. Any other items we want to address here? Otherwise, I think we can close this issue out. |
Did you already update the google doc with the mapping? |
@yurishkuro Yes - the migration guide can be viewed here. |
I think this is completed - huge thanks to @mahadzaryab1 🚀 , this is a critical milestone for v2. |
Right now several PRs that are trying to add support for standard storage backends to v2 are reusing the same configuration for storage as we had in v1. Now is a good time to rethink that configuration, in particular:
priority_dependencies_template
CreateDefaultConfig
because at that point we don't known which storage will be used.Scope
jaeger/cmd/jaeger/internal/integration/kafka_test.go
Line 24 in c655e56
Tasks / outcomes
For each of the above components, we need to ensure
mapstructure
such that they can be addressable from YAML via "good" namesHow to work on this meta-issue
The text was updated successfully, but these errors were encountered: