Skip to content

Server Max Send Message Length #387

Open
@ooolafhu

Description

@ooolafhu

Describe the question
I have a unary gRPC connection between a client and a server, and when the server sends a large response (about 500MB) back to the client, the client throws an error

"reason": "no case clause matching: {:error, %GRPC.RPCError{status: 13, message: \":stream_error: {:stream_error, :no_error, :\\\"Stream reset by server.\\\"}\"}}"

And the stacktrace is to these two functions

 "lib/grpc/stub.ex:456: Elixir.GRPC.Stub.recv_body/5",
 "lib/grpc/stub.ex:427: Elixir.GRPC.Stub.do_recv/2",

We didn't see this error with a smaller response, so I'm wondering if there is any limit on the server's send message length like other languages (e.g. Golang)? If so, is it configurable?

Versions:

  • OS: ubuntu
  • Erlang: 26.1.2
  • Elixir: 1.15.4-otp-26
  • mix.lock(grpc, gun, cowboy, cowlib):
"grpc": {:git, "https://[email protected]/shorelinesoftware/elixir_grpc_priv.git", "65ff1d1b56f84017b34be5ed13c5b8fb3a4f801c", [branch: "grpc-stats-connection-deps"]},
 "gun": {:hex, :grpc_gun, "2.0.1", "221b792df3a93e8fead96f697cbaf920120deacced85c6cd3329d2e67f0871f8", [:rebar3], [{:cowlib, "~> 2.11", [hex: :cowlib, repo: "hexpm", optional: false]}], "hexpm", "795a65eb9d0ba16697e6b0e1886009ce024799e43bb42753f0c59b029f592831"},

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions