Scenario: Traffic Server started with the null-transform plugin. The link between the client and Traffic Server is slower than the link between the Traffic Server and the Origin Server.
Affect: If the client requests a large file from the Origin Server, the whole file can be transmitted to, and buffered by, Traffic Server before content is released to the client. This is a bigger issue if a large number of clients request large files then the Traffic Server could end up buffering very large amounts of content.
Expected behaviour: The Traffic Server should not download all the content from the Origin Server. Instead, if the client is slow receiving from Traffic Server, then Traffic Server should be slow receiving from the Origin Server. Traffic Server should facilitate end to end flow control between client and Origin Server.
Tools to replicate problem: Use Traffic Control to set a lower bandwidth on the client machine.
Possible related area in the Traffic Server code: The following comment appears in proxy/http/Httptunnel.cc
48 static void
49 chunked_reenable(HttpTunnelProducer * p, HttpTunnel * tunnel)
52 // FIX ME: still need to deal with huge chunk sizes. If a chunk
53 // is 1GB, we will currently buffer the whole thing