Skip to content

Buffer replay before network delivery and preserve the live handoff - #3541

Open
Kludex wants to merge 1 commit into
preserve-request-stream-ownershipfrom
buffer-replay-before-network-delivery
Open

Kludex wants to merge 1 commit into
preserve-request-stream-ownershipfrom
buffer-replay-before-network-delivery

Buffer replay before network delivery and preserve the live handoff

04f67da
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Sep 18, 2026 in 16m 46s

Code review found 1 important issue

Found 13 candidates, confirmed 6. See review comments for details.

Details

Severity Count
🔴 Important 1
🟡 Nit 5
🟣 Pre-existing 0
Severity File:Line Issue
🔴 Important src/mcp/server/streamable_http.py:931 Operators whose server has no writable temp directory lose Last-Event-ID resumption for any stream holding over 1 MiB of
🟡 Nit src/mcp/server/streamable_http.py:1090 Every other request in a session stalls while one reconnecting client drains a large replay, which the base branch never
🟡 Nit src/mcp/server/streamable_http.py:936 Every message in a session now waits while one client's replay reads the event store, which the base branch never did. s
🟡 Nit src/mcp/server/streamable_http.py:960 Clients resuming against an event store that fails partway through a long scan now receive nothing and can never advance
🟡 Nit src/mcp/server/streamable_http.py:949 Servers using the polling pattern ('close_sse_stream' from a tool) now cut a resuming client's history mid-delivery and
🟡 Nit src/mcp/server/streamable_http.py:930 Servers whose event store builds 'EventMessage' with a non-JSON event id (a 'uuid.UUID', 'Decimal', DB id object) lose r