-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Problem
When handling an invocation over HTTP, the SDK must not close the HTTP response stream before the request stream has been fully consumed/closed. If the response stream is closed while the request stream is still open, the runtime may interpret this as a connection abort and log warnings or trigger unnecessary retries.
This issue was discovered and fixed in the TypeScript SDK: restatedev/sdk-typescript#651
Expected behavior
After the SDK has flushed all output to the response stream, it should drain/await the request stream EOS (end-of-stream) before closing the response stream. This ensures a clean HTTP connection lifecycle:
- SDK finishes writing all response data
- SDK waits for the request stream to be fully closed (read until EOF or done)
- SDK closes the response stream
Action items
- Review the HTTP handler code to check if the response stream can be closed before the request stream is fully consumed
- If susceptible, implement a fix to drain the request stream before closing the response stream
- Verify with testing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels