-
Notifications
You must be signed in to change notification settings - Fork 2.6k
[grpc][v2] Use v2 gRPC factory in storage extension #6969
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
[grpc][v2] Use v2 gRPC factory in storage extension #6969
Conversation
Signed-off-by: Mahad Zaryab <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6969 +/- ##
==========================================
- Coverage 96.00% 96.00% -0.01%
==========================================
Files 349 349
Lines 20678 20677 -1
==========================================
- Hits 19852 19851 -1
Misses 622 622
Partials 204 204
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@@ -176,7 +176,7 @@ func (s *storageExt) Start(_ context.Context, host component.Host) error { | |||
grpcTelset := telset | |||
grpcTelset.Metrics = scopedMetricsFactory(storageName, "grpc", "tracestore") | |||
//nolint: contextcheck |
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.
How does OTEL Exporter (similar principle of using gRPC client) deal with context in this scenario? At minimum I think we should pass it to the constructor, but more specifically my question is: should the constructor do something with it, like pass it when creating a connection?
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.
@yurishkuro I updated this code to propagate the context down to the factory. For your question about the exporter, I see this in the exporterhelper - looks like it also accepts the context in the constructor. Is that what you were looking for?
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.
the change lgtm
premature approval - this needs remote storage for e2e tests to pass
Signed-off-by: Mahad Zaryab <[email protected]>
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.
So to confirm - this means v2 write path will be used calling into v2 grpc writer that will use v2 remote storage api? I guess this is where the previous PR is helpful, by allowing remote-storage to support b2 api.
@yurishkuro Why would it just be the write path? The extension now initializes the v2 gRPC factory so both the read and write path should be going through the v2 remote storage API. Although, the backing storages will be v1 factories upgraded to v2. Let me know if I'm misunderstanding something though. |
## Which problem is this PR solving? - Resolves jaegertracing#6965 ## Description of the changes - This PR updates the jaegerstorage extension to use the new v2 gRPC storage factory ## How was this change tested? - CI ## 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`: `npm run lint` and `npm run test` --------- Signed-off-by: Mahad Zaryab <[email protected]>
## Which problem is this PR solving? - Resolves jaegertracing#6965 ## Description of the changes - This PR updates the jaegerstorage extension to use the new v2 gRPC storage factory ## How was this change tested? - CI ## 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`: `npm run lint` and `npm run test` --------- Signed-off-by: Mahad Zaryab <[email protected]> Signed-off-by: amol-verma-allen <[email protected]>
Which problem is this PR solving?
Description of the changes
How was this change tested?
Checklist
jaeger
:make lint test
jaeger-ui
:npm run lint
andnpm run test