<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><div>On Apr 17, 2014, at 11:51 PM, L Cruzero <<a href="mailto:lcruzero@gmail.com">lcruzero@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Geoff, Et al, thanks for your replies, i should have mentioned, that the 503's are not unique to POST requests, they are also happening more frequent within <br>(very rarely == on 0.0038% of requests), on a GETs.</div></div></blockquote><div><br></div><div>But in your example with the GET, the FetchError is connection reset reading the backend response:</div><div><br></div><div><blockquote type="cite"><div dir="ltr">  174 FetchError   c http first read error: -1 104 (Connection reset by peer)</div></blockquote></div><div><br></div>That's pretty straightforward -- your backend broke off the connection before Varnish could read the response. Nothing wrong with the client connection that time.<div><br></div><div>But your previous "FetchError: backend write error", which in my experience has almost always really been an error on the client connection, is always about request bodies, and hence always about POST requests.</div><div><br></div><div>Understanding your "503's" will mean that you'll have to look at the details of the FetchError in each individual case, they're all different.</div><div><br><blockquote type="cite"><div><div dir="ltr">i've been thinking of testing within my config something along this FOUND vcl code snipped as a possible solution. <div><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><i>sub vcl_fetch {
</i><i>           if (obj.status == 500 || obj.status == 503 || obj.status ==
</i><i>        504) {
</i><i>                   restart;
</i><i>            }</i></pre></div></div></div></blockquote><div>Well, that's retrying on those error codes, which is more of a workaround than a solution.</div><div><br></div><div>Retries are not a bad idea (why not just obj.status >= 500 ?), but they don't solve whatever it is that's causing the problem, they just give you another chance when there is a problem. And if the trouble keeps happening, then you'll hit the restart maximum and end up with 503 anyway.</div><br></div><div><br></div><div>HTH,</div><div>Geoff</div></body></html>