Thanks for the feedback Poul-Henning. I've implemented what you suggested in the attached two patches.<div><br></div><div>First changes FetchReqBody to report what it's done, and then only allow a retry if it reported no body.</div>
<div><br></div><div>Second sets the retry variable only if we are doing a GET or HEAD.</div><div><br></div><div>Another point for making Varnish buffer request bodies before doing any backend work at all is dealing with resource hungry backends and slow sending clients. We would then be able to buffer the data before tying up a backend resource and send it all in one fast swoop.</div>
<div><br></div><div>-Martin<br><br>-- <br>Martin Blix Grydeland<br>Varnish Software AS<br><br>
</div>