fix(rivetkit): temporarily disable HWS for serverless runners#4596
fix(rivetkit): temporarily disable HWS for serverless runners#4596NathanFlurry wants to merge 5 commits intov2.1.xfrom
Conversation
The gateway tunnel ping (ToRunnerPing) is not handled for serverless TS runners since there is no Rust pegboard-runner bridge to respond with ToGatewayPong. This causes the gateway to close every WebSocket with ws.downstream_closed after 30s, triggering a reconnect cycle. Disable hibernation on PATH_CONNECT WebSockets until the engine implements ping/pong for serverless runners.
PR Review: fix(rivetkit): temporarily disable HWS for serverless runnersCore Fix (
|
Summary
PATH_CONNECT) by making#hwsCanHibernate()returnfalseCanSleep.ActiveConnscheckToRunnerPing/ToGatewayPongfor serverless TS runnersRoot Cause
The gateway sends
ToRunnerPingvia NATS and expectsToGatewayPongwithin 30s. For non-serverless runners, the Rustpegboard-runnerbridge responds. For serverless TS runners (e.g. pax on Rivet Cloud), there is no bridge — nobody responds, so the gateway kills every WebSocket withws.downstream_closedevery ~30s. Disabling HWS avoids the broken hibernation/restore cycle.Test plan
🤖 Generated with Claude Code