Closed yurishkuro closed 1 week ago
@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 plugin/storage/*/options.go
and the configs for v2 supposed to be in pkg/*/config.go
?
yes, that's accurate
@yurishkuro how come some stores still have the v2 configuration living in plugin/storage/*
? do we want to move those over?
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 https://github.com/jaegertracing/jaeger/pull/5925
@yurishkuro PR for badger storage component at https://github.com/jaegertracing/jaeger/pull/5927
@yurishkuro PR for Cassandra component ready for review at https://github.com/jaegertracing/jaeger/pull/5949.
@yurishkuro PR for Query Service ready for review at https://github.com/jaegertracing/jaeger/pull/5998
@yurishkuro we can link the following PRs to the issue description for badger:
@yurishkuro what is the Collector-specific config
checklist item referring to?
what is the Collector-specific config checklist item referring to?
if you run SPAN_STORAGE_TYPE=memory go run ./cmd/collector help
there are a bunch of collector-specific flags printed that are not related to storage but to the collector itself. Most of them are related to http/grpc endpoints, but some could control the overall collector's behavior. Ideally we need to create a gdoc mapping all these flags to the corresponding OTEL config locations and if any are not supported decide what to do about them.
what is the Collector-specific config checklist item referring to?
if you run
SPAN_STORAGE_TYPE=memory go run ./cmd/collector help
there are a bunch of collector-specific flags printed that are not related to storage but to the collector itself. Most of them are related to http/grpc endpoints, but some could control the overall collector's behavior. Ideally we need to create a gdoc mapping all these flags to the corresponding OTEL config locations and if any are not supported decide what to do about them.
@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 Utilize env var defaults one OTEL supports them in 0.110
? How do we determine which things need to be defaulted? As well, where do these defaults needs to be utilized? Is it just in the docker compose setups?
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.
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 https://github.com/jaegertracing/jaeger/issues/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 https://github.com/jaegertracing/jaeger/pull/5790? any help needed there?
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.
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.
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.
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 @yurishkuro I've opened a new PR at https://github.com/jaegertracing/jaeger/pull/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
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