Problem
The HTTP API server (:40403) becomes completely unresponsive under sustained polling (1 req/s from a testbed monitor). TCP connections are accepted (kernel-level), but the HTTP handler never sends a response — clients receive 0 bytes and timeout.
Root Cause
- Single-threaded HTTP runtime
node/src/rust/runtime/servers_instances.rs (~line 280):
let http_server_handle = tokio::task::spawn_blocking(move || {
let rt = tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()?;
rt.block_on(async move {
axum::serve(listener, http_router).await
})
});
The entire HTTP server runs on a single OS thread. If that thread blocks, all HTTP connections stall.
Problem
The HTTP API server (:40403) becomes completely unresponsive under sustained polling (1 req/s from a testbed monitor). TCP connections are accepted (kernel-level), but the HTTP handler never sends a response — clients receive 0 bytes and timeout.
Root Cause
node/src/rust/runtime/servers_instances.rs (~line 280):
The entire HTTP server runs on a single OS thread. If that thread blocks, all HTTP connections stall.