gRPCClient.jl icon indicating copy to clipboard operation
gRPCClient.jl copied to clipboard

Request streaming test sometimes fails: HTTP/2 stream not closed cleanly

Open csvance opened this issue 1 month ago • 1 comments

I'm not sure if this is an issue with us overloading the test server or something on the client side, but it should be documented here.

Request Streaming: Error During Test at /Users/runner/work/gRPCClient.jl/gRPCClient.jl/test/runtests.jl:189
  Got exception outside of a @test
  gRPCServiceCallException(grpc_status=INTERNAL(13), message="HTTP/2 stream 10203 was not closed cleanly: CANCEL (err 8)")
  Stacktrace:
    [1] grpc_async_await
      @ ~/work/gRPCClient.jl/gRPCClient.jl/src/gRPC.jl:160 [inlined]
    [2] grpc_async_await
      @ ~/work/gRPCClient.jl/gRPCClient.jl/src/gRPC.jl:166 [inlined]
    [3] grpc_async_await(client::gRPCServiceClient{TestRequest, true, TestResponse, false}, request::gRPCRequest)
      @ gRPCClient ~/work/gRPCClient.jl/gRPCClient.jl/src/Streaming.jl:375
    [4] macro expansion
      @ ~/work/gRPCClient.jl/gRPCClient.jl/test/runtests.jl:201 [inlined]
    [5] macro expansion
      @ ~/hostedtoolcache/julia/nightly/aarch64/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined]
    [6] macro expansion
      @ ~/work/gRPCClient.jl/gRPCClient.jl/test/runtests.jl:190 [inlined]
    [7] macro expansion
      @ ~/hostedtoolcache/julia/nightly/aarch64/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined]
    [8] top-level scope
      @ ~/work/gRPCClient.jl/gRPCClient.jl/test/runtests.jl:66
    [9] include(mapexpr::Function, mod::Module, _path::String)
      @ Base ./Base.jl:310
   [10] top-level scope
      @ none:6
   [11] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [12] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:310
   [13] _start()
      @ Base ./client.jl:577
Test Summary:                                           |    Pass  Error    Total   Time
gRPCClient.jl                                           | 1013214      1  1013215  17.1s
  @async varying request/response                       |  501500          501500   1.5s
  @async small request/response                         |    2000            2000   0.1s
  @async big request/response                           |     100             100   0.4s
  Threads.@spawn small request/response                 |    2000            2000   0.5s
  Threads.@spawn varying request/response               |  501500          501500   1.2s
  Async Channels                                        |    1000            1000   0.2s
  Response Streaming                                    |    2000            2000   0.2s
  Request Streaming                                     |              1        1  11.4s
  Bidirectional Streaming                               |    2000            2000   0.2s
  Response Streaming - Small Messages                   |    1000            1000   0.0s
  Request Streaming - Large Payloads                    |       1               1   0.4s
  Don't Stick User Tasks                                |       1               1   0.0s
  grpc_async_stream_request - gRPCServiceCallException  |       1               1   0.0s
  grpc_async_stream_request - general exception         |                       0   0.2s
  grpc_async_stream_response - InvalidStateException    |       1               1   0.2s
  grpc_async_stream_response - gRPCServiceCallException |       1               1   0.3s
  Deadline - Very short timeout                         |       2               2   0.0s
  Max Message Size                                      |       2               2   0.0s
  Graceful shutdown during concurrent requests          |     101             101   0.2s

csvance avatar Dec 06 '25 04:12 csvance