grpc / grpc/grpc-node

Node.js QPS worker closes socket abruptly at the end of tests

Open
#3,060 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
4.8k
Forks
716
Avg merge
2d 3h
Merged PRs (30d)
10

Description

### Problem description
When running the Node.js QPS worker in a load test scenario managed by the C++ driver (`qps_json_driver`), the worker closes its connection to the driver abruptly at the end of the test. This prevents the driver from sending a clean quit signal and receiving confirmation, resulting in an error at the end of the benchmark run.

### Reproduction steps
Start the Node.js QPS worker (part of the gRPC testing images).
Run a load test scenario (e.g., `node-to-node-generic-async-streaming-qps-unconstrained-secure`) using the C++ driver `qps_json_driver` targeting the Node worker.
Observe the error log at the very end of the test execution when the driver attempts to shut down the servers.

### Environment
OS name, version and architecture: Linux (amd64, running inside `us-docker.pkg.dev/grpc-testing/e2etest-prebuilt/node:20260528114749` container)
Node version: [Version included in the above prebuilt image]
Package name and version: `grpc` or `@grpc/grpc-js `(version used in gRPC QPS workers at lastest version)

### Additional context
These issues were also observed after updating to Ruby 3.3. The test runs and produces results, but fails during the cleanup phase with the following error in the driver logs:

`E0528 13:23:56.383525 20 driver.cc:668] Worker 1 could not be properly quit because Socket closed`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.