Skip to content
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

bump grpc client version to fix unobserved exception #4573

Merged
merged 10 commits into from
Jun 22, 2023
Merged

bump grpc client version to fix unobserved exception #4573

merged 10 commits into from
Jun 22, 2023

Conversation

masonyc
Copy link
Contributor

@masonyc masonyc commented Jun 9, 2023

Fixes #4570

Changes

Bump grpc net client to 2.53

Merge requirement checklist

  • CONTRIBUTING guidelines followed (nullable enabled, static analysis, etc.)
  • Unit tests added/updated
  • Appropriate CHANGELOG.md files updated for non-trivial changes
  • Changes in public API reviewed (if applicable)

@codecov
Copy link

codecov bot commented Jun 9, 2023

Codecov Report

Merging #4573 (7d9cd8a) into main (bd0d8d6) will increase coverage by 0.00%.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #4573   +/-   ##
=======================================
  Coverage   84.86%   84.87%           
=======================================
  Files         313      313           
  Lines       12604    12604           
=======================================
+ Hits        10697    10698    +1     
+ Misses       1907     1906    -1     

see 2 files with indirect coverage changes

@masonyc masonyc marked this pull request as ready for review June 9, 2023 02:40
@masonyc masonyc requested a review from a team June 9, 2023 02:40
Copy link
Member

@vishweshbankwar vishweshbankwar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Kielek
Copy link
Contributor

Kielek commented Jun 9, 2023

Lets wait a bit, I do not have a chance to verify impact on .NET AutoInstrumentation. I suppose it will be significant.

@Kielek
Copy link
Contributor

Kielek commented Jun 14, 2023

Finally, I have find the time to review impact.

For Auto Instrumentation, it will leads to reduce set of application which can be auto-instrumented without adjustment for dependencies. Similar discussion was done for #4407

Especially, we will have to increase minimal instrumented version Grpc.Client.Net from 2.43.0 to the upgraded one.

As 2.45 contains obvious bug-fix, I see the reason to do this, but I have doubts if it should go up to 2.53.0.

@alanwest, you were mainly checking what we can do for protobuf. I suppose that you have also good insight for this particulat package.

EDIT: Similar thing for #4576 (if the user is using .NET version which brings 7.0.1 or 7.0.0).

@alanwest
Copy link
Member

@masonyc thanks for your patience! We spoke about this PR today in our weekly meeting.

Regarding @Kielek's comment:

As 2.45 contains obvious bug-fix, I see the reason to do this, but I have doubts if it should go up to 2.53.0.

We agreed a more conservative bump to 2.45 is preferable, but before we do that, I wanted to understand the issue a bit more.

I haven't studied this issue closely enough to understand in what circumstance this bug manifests itself with OpenTelemetry .NET. My thought is that if we understand the bug a bit more then maybe we could find a way to fix it by changing how we use gRPC client to get around the bug rather than bumping the package version.

I've briefly reviewed grpc/grpc-dotnet#1656, but the repro it provides does not resemble how we currently invoke gRPC client, so it left us wondering how this bug is manifested in OpenTelemetry .NET.

@masonyc do you have a repro you could share generating this bug using OpenTelemetry .NET?

@rwkarg
Copy link

rwkarg commented Jun 21, 2023

It isn’t specific to how the gRPC client is being used. It’s a Task inside the internal client code that isn’t explicitly observed when there is an exception making a call (such as a transient network issue). If you’re making a call, then the internal code path that triggers the gRCP client behavior mentioned in the issue will be exercised.

@alanwest
Copy link
Member

It’s a Task inside the internal client code

Gotcha. I've had a chance to look more closely and this makes sense now.

@masonyc please change to 2.45 and I think we're good to merge.

Directory.Packages.props Outdated Show resolved Hide resolved
@utpilla utpilla merged commit 5f825cb into open-telemetry:main Jun 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Grpc.Net.Client unobserved task Exception
7 participants