Skip to content

Bidirectional streaming regression on TestServer #15415

Closed
@JamesNK

Description

@JamesNK

A customer attempted to use TestServer to test gRPC services. They weren't able to successfully test calls that use bidirectional streaming.

grpc/grpc-dotnet#624

This functionality worked during 3.0 dev. grpc-dotnet functional tests were run with TestServer. At some point after grpc-dotnet switched to using a local Kestrel instance for functional tests, bidirectional streaming in TestServer stopped working.

To Reproduce

  1. git clone https://github.com/JamesNK/grpc-dotnet/tree/jamesnk/bidirectionalstreaming-repro
  2. Run SayHelloBidirectionStreamingTest at https://github.com/JamesNK/grpc-dotnet/blob/c0a098ce8f44a751608ef1e9ef7ba1238d369aec/examples/Tester/Tests/FunctionalTests/GreeterServiceTests.cs#L101-L126
  3. Test will hang on ResponseStream.MoveNext() (line 118)
  4. Uncomment RequestStream.CompleteAsync() (line 116) and run test again
  5. Test now passes

Expected behavior

TestServer should be able to return response content while request is still in progress.

Additional context

.NET Core SDK (reflecting any global.json):
 Version:   3.0.100
 Commit:    04339c3a26

Metadata

Metadata

Assignees

Labels

DoneThis issue has been fixedarea-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions