Tobias Koppers
3c9d1ca77f
test: avoid OpenTelemetry collector socket reuse ( #98632 )
...
### What?
Prevent the OpenTelemetry instrumentation e2e collector from losing span
exports when an exporter reuses an idle localhost connection. Add
focused coverage for the collector's connection behavior.
### Why?
Keeping the collector listener alive for each application's full
lifetime removed the earlier close-and-rebind gap, but did not eliminate
every socket failure. Node's HTTP server could still time out an idle
keep-alive socket retained by the exporter's Undici pool. A later export
could race that closure, lose spans with `UND_ERR_SOCKET` or
`ECONNRESET`, and leave otherwise unrelated trace assertions with
incomplete trees.
The canary.28 failure was investigated separately and is not this
mechanism: it occurred in the release-enabled Rspack matrix when a
custom server exited during startup. This change is limited to the
residual non-Rspack collector race and does not alter Rspack coverage or
release snapshots.
### How?
Successful collector exports explicitly close their HTTP connection.
Each export therefore uses a fresh local connection instead of retaining
a socket that the server may reclaim while idle. The regression test
asserts this response contract directly, avoiding timing-dependent
coverage of the race.
### Verification
- Node 20.9.0, webpack dev, React 18.3.1: 5 consecutive focused runs, 55
tests passed per run
- Node 20.9.0, webpack start, React 18.3.1: 99 passed, 13 existing skips
- `pnpm test-types`
- Prettier and ESLint on changed files
<!-- NEXT_JS_LLM -->
<!-- fleet e4b8ed15-4a06-4727-a634-fddcc27c11fc -->
Co-authored-by: vercel-fleet-prod[bot] <318278635+vercel-fleet-prod[bot]@users.noreply.github.com>
Co-authored-by: Tobias Koppers <1365881+sokra@users.noreply.github.com >
2026-09-14 13:34:47 +02:00
..
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-12 13:16:31 +02:00
2026-09-09 08:25:36 -07:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-09-11 12:05:03 -07:00
2026-07-23 23:25:55 +02:00
2026-08-21 17:37:46 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-12 13:16:31 +02:00
2026-05-12 13:16:31 +02:00
2026-09-09 08:25:36 -07:00
2026-09-11 13:44:23 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-09-03 18:12:15 -07:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-08-06 09:53:09 +00:00
2026-05-12 13:16:31 +02:00
2026-08-21 15:07:42 +01:00
2026-05-11 13:55:47 +02:00
2026-09-01 22:27:43 -07:00
2026-05-22 14:01:58 +02:00
2026-05-22 14:01:58 +02:00
2026-06-03 12:23:36 +02:00
2026-09-09 08:25:36 -07:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-09-10 13:50:35 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-08-27 13:00:17 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-09 08:25:36 -07:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-07-10 12:11:26 -07:00
2026-05-11 13:55:47 +02:00
2026-05-12 13:16:31 +02:00
2026-09-10 13:50:35 +02:00
2026-05-12 13:16:31 +02:00
2026-09-10 13:50:35 +02:00
2026-05-12 13:16:31 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-04-30 10:01:06 +02:00
2026-06-15 23:19:53 +00:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-06-12 21:28:39 +00:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-09-09 08:25:36 -07:00
2026-05-11 13:55:47 +02:00
2026-08-21 22:45:12 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-09-09 08:25:36 -07:00
2026-06-03 12:23:36 +02:00
2026-05-11 13:55:47 +02:00
2026-07-13 09:56:16 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-09-10 13:50:35 +02:00
2026-05-12 13:16:31 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-08-14 14:29:26 +02:00
2026-08-18 10:20:11 +02:00
2026-05-26 16:50:38 +02:00
2026-05-22 14:01:58 +02:00
2026-05-22 14:01:58 +02:00
2026-05-12 13:16:31 +02:00
2026-09-10 13:50:35 +02:00
2026-05-22 14:01:58 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-22 14:01:58 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-07-10 12:11:26 -07:00
2026-07-28 17:34:04 +00:00
2026-08-11 12:05:56 +02:00
2026-08-25 18:12:50 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-06-19 14:13:33 -04:00
2026-07-07 14:02:02 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-08-21 22:45:12 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-22 14:01:58 +02:00
2026-05-22 14:01:58 +02:00
2026-05-22 14:01:58 +02:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-05-22 14:01:58 +02:00
2026-05-22 14:01:58 +02:00
2026-05-22 14:01:58 +02:00
2026-05-13 14:50:03 +02:00
2026-05-12 13:16:31 +02:00
2026-05-12 13:16:31 +02:00
2026-08-19 17:57:53 +02:00
2026-07-21 18:46:47 +02:00
2026-09-10 13:50:35 +02:00
2026-09-10 13:50:35 +02:00
2026-09-10 13:50:35 +02:00
2026-09-10 13:50:35 +02:00
2026-05-22 14:01:58 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-15 15:16:42 +00:00
2026-08-19 17:57:53 +02:00
2026-05-11 13:55:47 +02:00
2026-08-21 22:45:12 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-08 18:17:29 +02:00
2026-05-22 14:01:58 +02:00
2026-09-09 01:34:27 +02:00
2026-05-22 14:01:58 +02:00
2026-07-21 19:52:09 +00:00
2026-07-21 19:52:09 +00:00
2026-08-21 22:45:12 +02:00
2026-05-22 14:01:58 +02:00
2026-09-11 17:58:49 +00:00
2026-05-11 13:55:47 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-05-22 14:01:58 +02:00
2026-08-18 16:54:45 +02:00
2026-05-11 13:55:47 +02:00
2026-08-05 15:13:24 +00:00
2026-08-26 16:26:01 -04:00
2026-09-14 13:34:47 +02:00
2026-05-11 13:55:47 +02:00
2026-08-14 11:53:24 +02:00
2026-05-22 14:01:58 +02:00
2026-09-09 08:25:36 -07:00
2026-05-11 13:55:47 +02:00
2026-09-09 08:25:36 -07:00
2026-08-20 11:57:04 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-07-10 15:55:29 +02:00
2026-09-11 13:43:34 +02:00
2026-06-15 15:31:02 -07:00
2026-08-27 13:00:17 +02:00
2026-06-30 01:27:24 +00:00
2026-06-30 01:27:24 +00:00
2026-05-22 14:01:58 +02:00
2026-09-10 13:50:35 +02:00
2026-05-18 09:51:36 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-07-21 18:46:45 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-07-09 16:26:18 -07:00
2026-05-22 14:01:58 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-09-09 08:25:36 -07:00
2026-05-12 13:16:31 +02:00
2026-05-11 13:55:47 +02:00
2026-05-18 09:51:36 +02:00
2026-09-10 13:50:35 +02:00
2026-09-02 16:09:18 +02:00
2026-09-02 16:09:18 +02:00
2026-05-12 13:16:31 +02:00
2026-05-22 14:01:58 +02:00
2026-06-15 23:19:53 +00:00
2026-08-13 04:05:37 +02:00
2026-09-08 18:17:29 +02:00
2026-09-10 13:50:35 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-12 13:16:31 +02:00
2026-05-22 14:01:58 +02:00
2026-06-16 21:29:37 +02:00
2026-08-24 18:39:28 +02:00
2026-07-08 18:02:21 +02:00
2026-06-09 17:08:03 +00:00
2026-08-05 07:41:54 +02:00
2026-05-22 14:01:58 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-05-12 13:16:31 +02:00
2026-06-15 23:19:53 +00:00
2026-08-06 09:53:09 +00:00
2026-05-11 13:55:47 +02:00
2026-05-11 13:55:47 +02:00
2026-07-21 14:54:01 -07:00
2026-05-12 13:16:31 +02:00
2026-08-20 11:57:04 +02:00
2026-07-24 12:00:49 +02:00