go-ethereum/rpc
Jonny Rhea a326298f51
rpc: fix flaky TestTracingHTTPTimeout (#35172)
`TestTracingHTTPTimeout` still flakes in CI after #35101, failing at the
POST:

    --- FAIL: TestTracingHTTPTimeout (0.26s)
        tracing_test.go:633: request: Post "http://127.0.0.1:43497": EOF

The test sets a short server `WriteTimeout` and posts a blocking call.
`ContextRequestTimeout` leaves a fixed 100ms for the server to write its
timeout response before the HTTP write deadline cuts the connection.

I can't repro it locally, but my theory is that under load that write
can miss the window, so the connection is dropped and the client POST
returns `EOF`, failing the test before it inspects the span. This is the
only test exposed to it because it is the only one that configures a
`WriteTimeout`.

The EOF is benign: the server sets the timeout error on the SERVER span
before attempting the write, independent of whether the client receives
the response. Since that span status is all the test asserts,
`tryPostJSONRPC` tolerates the transport error instead of failing on it.
2026-06-16 07:46:34 -05:00
..
testdata rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
client.go rpc: reject empty batch in BatchCallContext (#34985) 2026-05-28 10:38:34 +02:00
client_example_test.go rpc: make ExampleClientSubscription work with the geth API (#19483) 2020-04-27 17:25:24 +02:00
client_opt.go rpc: add option to configure TextMapPropagator on client (#35132) 2026-06-10 12:04:54 -05:00
client_opt_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
client_test.go rpc: fix a flaky test of the websocket (#33002) 2025-10-23 20:58:33 +08:00
context_headers.go rpc: support injecting HTTP headers through context (#26023) 2022-11-16 15:22:12 +01:00
doc.go all: update dead wiki links (#32215) 2025-07-15 06:24:17 -06:00
endpoints.go trie, rpc, cmd/geth: fix tests on 32-bit and windows + minor rpc fixes (#21871) 2020-11-19 22:50:47 +01:00
errors.go rpc: add method to test for subscription support (#25942) 2023-06-14 14:04:41 +02:00
handler.go rpc, internal/telemetry: trace JSON-RPC response writes (#35049) 2026-06-02 14:13:06 +02:00
http.go rpc: add option to configure TextMapPropagator on client (#35132) 2026-06-10 12:04:54 -05:00
http_test.go rpc: avoid unnecessary RST_STREAM, PING frames sent by client (#33122) 2025-11-11 15:54:36 +01:00
inproc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
ipc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
ipc_js.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
ipc_unix.go rpc: fix ipc max path size (#29385) 2024-04-02 11:25:19 +02:00
ipc_wasip1.go all: add build tags for wasip1 (#31090) 2025-01-30 16:58:53 +01:00
ipc_windows.go rpc: use go-winio for named pipes (#27972) 2023-08-23 04:39:01 +02:00
json.go rpc, internal/telemetry: trace JSON-RPC response writes (#35049) 2026-06-02 14:13:06 +02:00
metrics.go rpc: fix ns/µs mismatch in metrics (#28649) 2023-12-08 09:40:50 +01:00
server.go rpc, internal/telemetry: add OpenTelemetry tracing for JSON-RPC calls (#33452) 2026-01-14 10:58:30 -07:00
server_test.go rpc: accept Windows reset error in websocket read limit test (#34928) 2026-06-04 10:57:11 -06:00
service.go rpc, internal/telemetry: trace JSON-RPC response writes (#35049) 2026-06-02 14:13:06 +02:00
stdio.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
subscription.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
subscription_test.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
testservice_test.go rpc: remove deprecated method "Notifier.Closed" (#29162) 2024-03-05 14:44:23 +01:00
tracing_test.go rpc: fix flaky TestTracingHTTPTimeout (#35172) 2026-06-16 07:46:34 -05:00
types.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
types_test.go rpc: run tests in parallel (#30384) 2024-11-19 13:43:33 +01:00
websocket.go rpc, internal/telemetry: trace JSON-RPC response writes (#35049) 2026-06-02 14:13:06 +02:00
websocket_test.go rpc: fix method-name matched before maxMethodNameLength (#35038) 2026-05-27 16:32:51 +02:00