Skip to content

Status CANCELLED under load #5956

@grigorryev

Description

@grigorryev

What version of gRPC are you using?

1.14.0

Hi,

I have a service that communicates with upstream via reactive-grpc. It performs both unary calls and subscriptions.

Under high load, after request/subscriptions rate exceeds some threshold, the service starts receiving StatusRuntimeExceptions with status CANCELLED.

I performed some Wireshark investigations and discovered that the amount of time taken by the service to respond to http2 PING sent by the upstream gradually increases with the load. At the moment it exceeds keepalive timeout configured for the upstream, the upstream cancels the call.

Are there any ways to configure/examine the process of http2 ping-pong under grpc? What aspects of configuration may affect this process? What code is responsible for this processing? Where should I put a breakpoint? Any explanations, suggestions, and considerations are welcome.

I'm not sure what particular information about my configuration I should provide, but I will provide anything required.

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions