jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
20.25k stars 2.42k forks source link

Update grpc to v1.66.0 and switch to CodecV2 #5900

Closed renovate-bot closed 1 month ago

renovate-bot commented 1 month ago

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 https://github.com/grpc/grpc-go/commit/cfd14baa8264cbeebf6308a7b68333c8c2fc6e86#r145974307)

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
google.golang.org/grpc v1.65.0 -> v1.66.0 age adoption passing 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

grpc/grpc-go (google.golang.org/grpc) ### [`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)

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.

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.81%. Comparing base (d520c41) to head (99fccbe). Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ 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 ``` | [Flag](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | Coverage Δ | | |---|---|---| | [badger_v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `8.05% <28.57%> (-0.01%)` | :arrow_down: | | [badger_v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.82% <100.00%> (+0.01%)` | :arrow_up: | | [cassandra-3.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `16.62% <28.57%> (-0.01%)` | :arrow_down: | | [cassandra-3.x-v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.75% <100.00%> (+0.01%)` | :arrow_up: | | [cassandra-4.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `16.62% <28.57%> (-0.01%)` | :arrow_down: | | [cassandra-4.x-v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.75% <100.00%> (+0.01%)` | :arrow_up: | | [elasticsearch-6.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `18.79% <28.57%> (-0.01%)` | :arrow_down: | | [elasticsearch-7.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `18.85% <28.57%> (-0.01%)` | :arrow_down: | | [elasticsearch-8.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `19.03% <28.57%> (-0.02%)` | :arrow_down: | | [elasticsearch-8.x-v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.82% <100.00%> (+0.01%)` | :arrow_up: | | [grpc_v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `9.48% <100.00%> (-0.01%)` | :arrow_down: | | [grpc_v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `7.16% <100.00%> (+0.01%)` | :arrow_up: | | [kafka-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `9.74% <28.57%> (-0.01%)` | :arrow_down: | | [kafka-v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.82% <100.00%> (+0.01%)` | :arrow_up: | | [memory_v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.82% <100.00%> (+0.01%)` | :arrow_up: | | [opensearch-1.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `18.90% <28.57%> (-0.01%)` | :arrow_down: | | [opensearch-2.x-v1](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `18.90% <28.57%> (+<0.01%)` | :arrow_up: | | [opensearch-2.x-v2](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `1.82% <100.00%> (+0.02%)` | :arrow_up: | | [unittests](https://app.codecov.io/gh/jaegertracing/jaeger/pull/5900/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing) | `95.29% <100.00%> (+<0.01%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=jaegertracing#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.