Skip to content

Client re-using broken connection #2853

@rnza0u

Description

@rnza0u

Problem description

When i shut down my GRPC server, it invalidates all TCP connections bound to it, which is normal behavior.

However, it seems like the GRPC client still wants to re-use the dead connections.

After restarting the server and trying to send calls from the client, i get this error:

Received RST_STREAM with code 2 triggered by internal client error: connection closed because of a broken pipe

I tried setting grpc.enable_retries to 1, that did not work.

I also tried to play with the keep alive settings so maybe the client would invalidate the connections and create new ones for further calls :

"grpc.keepalive_time_ms": 10000,
"grpc.keepalive_timeout_ms": 5000,

But then i randomly get: Received RST_STREAM with code 2 triggered by internal client error: The pending stream has been canceled.

It seems like the client is always trying to use dead connections and is not creating new ones.

What are the steps in order to overcome this ? Am i missing something ?

Thanks !

Environment

  • Linux Ubuntu 22.04 on WSL
  • I am using Deno
  • I am using @grpc/grpc-js in version 1.12.2

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions