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

HTTP/3: Error when multiple connections to a server #73282

Closed
JamesNK opened this issue Aug 3, 2022 · 2 comments · Fixed by dotnet/aspnetcore#43065
Closed

HTTP/3: Error when multiple connections to a server #73282

JamesNK opened this issue Aug 3, 2022 · 2 comments · Fixed by dotnet/aspnetcore#43065

Comments

@JamesNK
Copy link
Member

JamesNK commented Aug 3, 2022

Description

I've noticed the gRPC benchmark has failed requests when there are multiple connections.

Reproduction Steps

  1. git clone https://github.com/jamesnk/grpc-dotnet
  2. git checkout jamesnk/net7
  3. dotnet run -c Release --project .\perf\benchmarkapps\GrpcAspNetCoreServer\ -- --LogLevel Trace --protocol h3
  4. dotnet run -c Release --project .\perf\benchmarkapps\GrpcClient\ -- -u https://localhost:5000 -c 2 --streams 1 -s unary -p h3 --grpcClientType grpcnetclient --LogLevel Trace --callCount 10

Expected behavior

Requests all succeed.

Actual behavior

One or two requests fail. Also, the client app takes a long time (20 seconds?) to close. I think a request on one of the connections is hung.

Client and server logs are attached.

Regression?

I think so.

Known Workarounds

No response

Configuration

No response

Other information

No response

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Aug 3, 2022
@ghost
Copy link

ghost commented Aug 3, 2022

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

I've noticed the gRPC benchmark has failed requests when there are multiple connections.

Reproduction Steps

  1. git clone https://github.com/jamesnk/grpc-dotnet
  2. git checkout jamesnk/net7
  3. dotnet run -c Release --project .\perf\benchmarkapps\GrpcAspNetCoreServer\ -- --LogLevel Trace --protocol h3
  4. dotnet run -c Release --project .\perf\benchmarkapps\GrpcClient\ -- -u https://localhost:5000 -c 2 --streams 1 -s unary -p h3 --grpcClientType grpcnetclient --LogLevel Trace --callCount 10

Expected behavior

Requests all succeed.

Actual behavior

One or two requests fail. Also, the client app takes a long time (20 seconds?) to close. I think a request on one of the connections is hung.

Client and server logs are attached.

Regression?

I think so.

Known Workarounds

No response

Configuration

No response

Other information

No response

Author: JamesNK
Assignees: -
Labels:

area-System.Net.Http

Milestone: -

@JamesNK
Copy link
Member Author

JamesNK commented Aug 3, 2022

I tested this more and found the problem is related to #72511.

It turns out the answer to my first question here is no, the callback doesn't run when AcceptConnectionAsync is called. It runs in the background as connections are received.

@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Aug 4, 2022
@karelz karelz added this to the 7.0.0 milestone Aug 7, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Sep 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants