Skip to content

grpc serviceconfig retires are not working with retryThrottling policy #2923

@nathanKith

Description

@nathanKith

Problem description

Native retries by grpc service config is not working if retryThrottling configuration is presented.

Reproduction steps

I create a repository with non-working example: https://github.com/nathanKith/test-nodejs-sdk/tree/master
Generated files stubs was generated by grpc-tool 1.12.4 version.

I expect 3 request on status INVALID_ARGUMENT, but gets just only one.

Environment

  • Mac OS 12, arm64
  • v16.19.0
  • "@grpc/grpc-js": "^1.13.0", "grpc-tools": "^1.13.0"

Additional context

I check grpc debug logs and trace and see this at the end of client side logs:

D 2025-03-13T13:23:25.737Z | v1.13.0 14411 | subchannel_call | [3] received status code 3 from server
D 2025-03-13T13:23:25.737Z | v1.13.0 14411 | subchannel_call | [3] received status details string "INVALID_ARGUMENT (testing retries)" from server
D 2025-03-13T13:23:25.737Z | v1.13.0 14411 | subchannel_call | [3] ended with status: code=3 details="INVALID_ARGUMENT (testing retries)"
...
D 2025-03-13T13:23:25.737Z | v1.13.0 14411 | retrying_call | [1] Received status from child [2]
D 2025-03-13T13:23:25.737Z | v1.13.0 14411 | retrying_call | [1] state=RETRY handling status with progress PROCESSED from child [2] in state ACTIVE
D 2025-03-13T13:23:25.738Z | v1.13.0 14411 | subchannel_call | [3] HTTP/2 stream closed with code 0

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