In short: when a long, chunked GET request sends data, it's possible to get in a state where data is no longer sent, even when additional write events occur. I'm having trouble identifying the root cause, but the above test case makes the situation reproducible & should help anyone with internal knowledge of node-spdy.
Strangely, when adding DEBUG=* or more specifically, DEBUG=spdy:stream:server, the problem disappears.
I've set up a test case here: https://github.com/canadaduane/spdy-braidify-heisenbug
In short: when a long, chunked GET request sends data, it's possible to get in a state where data is no longer sent, even when additional write events occur. I'm having trouble identifying the root cause, but the above test case makes the situation reproducible & should help anyone with internal knowledge of node-spdy.
Strangely, when adding
DEBUG=*
or more specifically,DEBUG=spdy:stream:server
, the problem disappears.