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
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++ driverqps_json_drivertargeting 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:20260528114749container)Node version: [Version included in the above prebuilt image]
Package name and version:
grpcor@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