-
Notifications
You must be signed in to change notification settings - Fork 231
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
feat: bump google_protobuf >=3.18, < 5.a #1645
Conversation
@colinbendell thank you for your contribution. I would qualify this as a At GitHub we would not be able to upgrade to use newer protoc definitions. we are pinned to an earlier version of protobufs and since it will not allow mixed definitions in 3.14 with errors like this, when mixing definitions generated from different protoc versions it yields errors like this:
@open-telemetry/ruby-maintainers I presume other language sigs are bundling generated protobuf source? Is there a way to generate the source during installation time instead of bundled in the gem itself that way we do not run into Ruby DSL compatibility issues with generated source files? |
Don't have an answer for this one yet. But just putting out some other proposals to unblock this work.
|
If I understand what you are saying correctly, we would create separate gems for specific protoc generated versions and those gems would reference the "common" gem being the code used across all versions? |
No I mistyped. I meant to suggest we could decouple encoding from the export. So that you could pin to an older version of the encoding gem (with the compatible protos). Then we could create releases of the encoding gem with the new style. The exporter would simply depend on the encoding gem, not on any one specific version of it. |
Reiterating once again... The exporters would have a transitive dependency on the protoc generated source code, which are published in separate gems. The min version would be permissive allowing users to pin to a version of the protoc generated code compatible with their protobuf version. I get it right this time? |
Yup.
I'd prefer this option out of all of them as it seems to be the least effort overall. |
What is the path forward here?
I'll be honest, {2} sounds like a lot of work for a dependency from prior to 2021. (3.18 was released in Sept-2021). In the mean time this is holding up the rest of us who are trying to use functionality in the 4.x series (performance, security, etc). |
We're going with this option |
exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec
Outdated
Show resolved
Hide resolved
Co-authored-by: Francis Bogsanyi <francis.bogsanyi@shopify.com>
The current version of
google_protobuf
is4.27.1
. The approximate equal dependency causes compat issues for consuming libraries. Since protobuf now uses the serialized descriptor instead of the DSL, the contained_pb.rb
files need to be updated. This causes the min compat version to be v3.18 (Sep 2021) as per https://protobuf.dev/news/2023-04-20/