-
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
Update grpc to v1.66.0 and switch to CodecV2 #5900
Merged
yurishkuro
merged 5 commits into
jaegertracing:main
from
renovate-bot:renovate/google.golang.org-grpc-1.x
Aug 29, 2024
Merged
Update grpc to v1.66.0 and switch to CodecV2 #5900
yurishkuro
merged 5 commits into
jaegertracing:main
from
renovate-bot:renovate/google.golang.org-grpc-1.x
Aug 29, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
yurishkuro
changed the title
Update module google.golang.org/grpc to v1.66.0
Update grpc to v1.66.0 and switch to CodecV2
Aug 29, 2024
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5900 +/- ##
=======================================
Coverage 96.81% 96.81%
=======================================
Files 342 342
Lines 16523 16524 +1
=======================================
+ Hits 15996 15997 +1
Misses 340 340
Partials 187 187
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
yurishkuro
approved these changes
Aug 29, 2024
mahadzaryab1
pushed a commit
to mahadzaryab1/jaeger
that referenced
this pull request
Aug 31, 2024
gRPC v1.66.0 introduced CodecV2 that supports buffer pooling. The old V1 codecs no longer work (just the upgrade itself was causing panic, see grpc/grpc-go@cfd14ba#r145974307) This PR contains the following updates: * Upgrade `pkg/gogocodec/codec.go` to implement CodecV2 API. * Translate `mem.BufferSlice` into `[]byte` as needed (introduces a very small performance hit and increase in allocations) | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | `v1.65.0` -> `v1.66.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.66.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgrpc/v1.66.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgrpc/v1.65.0/v1.66.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.65.0/v1.66.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | ## Performance differences Before ``` $ go test -benchmem -run=^$ -bench ^BenchmarkCodec github.com/jaegertracing/jaeger/pkg/gogocodec goos: darwin goarch: arm64 pkg: github.com/jaegertracing/jaeger/pkg/gogocodec cpu: Apple M1 Pro BenchmarkCodecUnmarshal25Spans-10 30015 39020 ns/op 108616 B/op 1082 allocs/op ``` After ``` goos: darwin goarch: arm64 pkg: github.com/jaegertracing/jaeger/pkg/gogocodec cpu: Apple M1 Pro BenchmarkCodecUnmarshal25Spans-10 29352 39752 ns/op 119496 B/op 1083 allocs/op ``` --- ### Release Notes <details> <summary>grpc/grpc-go (google.golang.org/grpc)</summary> ### [`v1.66.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.66.0): Release 1.66.0 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.65.0...v1.66.0) ### New Features - metadata: stabilize `ValueFromIncomingContext` ([#​7368](https://togithub.com/grpc/grpc-go/issues/7368)) - Special Thanks: [@​KarthikReddyPuli](https://togithub.com/KarthikReddyPuli) - client: stabilize the `WaitForStateChange` and `GetState` methods, which were previously experimental. ([#​7425](https://togithub.com/grpc/grpc-go/issues/7425)) - xds: Implement ADS flow control mechanism ([#​7458](https://togithub.com/grpc/grpc-go/issues/7458)) - See [https://github.com/grpc/grpc/issues/34099](https://togithub.com/grpc/grpc/issues/34099) for context. - balancer/rls: Add metrics for data cache and picker internals ([#​7484](https://togithub.com/grpc/grpc-go/issues/7484), [#​7495](https://togithub.com/grpc/grpc-go/issues/7495)) - xds: LRS load reports now include the `total_issued_requests` field. ([#​7544](https://togithub.com/grpc/grpc-go/issues/7544)) ### Bug Fixes - grpc: Clients now return status code INTERNAL instead of UNIMPLEMENTED when the server uses an unsupported compressor. This is consistent with the [gRPC compression spec](https://togithub.com/grpc/grpc/blob/master/doc/compression.md#compression-method-asymmetry-between-peers). ([#​7461](https://togithub.com/grpc/grpc-go/issues/7461)) - Special Thanks: [@​Gayathri625](https://togithub.com/Gayathri625) - transport: Fix a bug which could result in writes busy looping when the underlying `conn.Write` returns errors ([#​7394](https://togithub.com/grpc/grpc-go/issues/7394)) - Special Thanks: [@​veshij](https://togithub.com/veshij) - client: fix race that could lead to orphaned connections and associated resources. ([#​7390](https://togithub.com/grpc/grpc-go/issues/7390)) - xds: use locality from the connected address for load reporting with pick_first ([#​7378](https://togithub.com/grpc/grpc-go/issues/7378)) - without this fix, if a priority contains multiple localities with pick_first, load was reported for the wrong locality - client: prevent hanging during ClientConn.Close() when the network is unreachable ([#​7540](https://togithub.com/grpc/grpc-go/issues/7540)) ### Performance Improvements - transport: double buffering is avoided when using an http connect proxy and the target server waits for client to send the first message. ([#​7424](https://togithub.com/grpc/grpc-go/issues/7424)) - codec: Implement a new `Codec` which uses buffer recycling for encoded message ([#​7356](https://togithub.com/grpc/grpc-go/issues/7356)) - introduce a `mem` package to facilitate buffer reuse ([#​7432](https://togithub.com/grpc/grpc-go/issues/7432)) - Special Thanks: [@​PapaCharlie](https://togithub.com/PapaCharlie) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/jaegertracing/jaeger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhbmdlbG9nOmRlcGVuZGVuY2llcyJdfQ==--> --------- Signed-off-by: Mend Renovate <[email protected]> Signed-off-by: Yuri Shkuro <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]> Signed-off-by: Mahad Zaryab <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
gRPC v1.66.0 introduced CodecV2 that supports buffer pooling. The old V1 codecs no longer work (just the upgrade itself was causing panic, see grpc/grpc-go@cfd14ba#r145974307)
This PR contains the following updates:
pkg/gogocodec/codec.go
to implement CodecV2 API.mem.BufferSlice
into[]byte
as needed (introduces a very small performance hit and increase in allocations)v1.65.0
->v1.66.0
Performance differences
Before
After
Release Notes
grpc/grpc-go (google.golang.org/grpc)
v1.66.0
: Release 1.66.0Compare Source
New Features
ValueFromIncomingContext
(#7368)WaitForStateChange
andGetState
methods, which were previously experimental. (#7425)total_issued_requests
field. (#7544)Bug Fixes
conn.Write
returns errors (#7394)Performance Improvements
Codec
which uses buffer recycling for encoded message (#7356)mem
package to facilitate buffer reuse (#7432)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.