grpc: upgrade to 1.66.2 and use Codec v2 #16790
Open
+62
−36
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.
Description
This PR upgrades our GRPC version to 1.66.2 and introduces the new Codec v2 for serializing and deserializing protobuf messages. The goal of this codec is to enable memory pooling and hopefully increase real-world performance of Vitess clusters by reducing the number of memory allocations used when working with GRPC. You can can read up on the implementation details and next steps for the codec in this discussion PR.
This is the very first iteration of these changes, which only implements buffer pooling, but does not attempt to pool the objects themselves. Our hope is that this should already show in the benchmarks, so if it doesn't it'll be a bit disappointing! 🤞
Related Issue(s)
Checklist
Deployment Notes