Thanks rob,<br><br>I tried saint mode to handle 503 requests, but m facing write errors now; is there any way i can efficiently.<br><br>if (beresp.status == 503) {<br>    set beresp.saintmode = 10s;<br>    restart;<br>  }<br>

  set beresp.grace = 5m;<br><br><br>I have a couple of questions regarding this issue:<br><br>1. It seems to me that Varnish fails when it tries to write the<br>request to the backend -- is this correct?<br><br>2. The integer value '11' reported in "backend write error: 11" --<br>

is it the value of ``errno`` for the failed call to `write`?<br><br>3. If above is correct: In the platform where Varnish is<br>running, 11 seems to correspond to EAGAIN:<br><br>$ python -c 'import errno; print errno.EAGAIN'<br>

11<br>$<br><br>Is there any way of telling Varnish to try the write(2) again?<br><br><br>  834 FetchError   c backend write error: 11<br>  834 VCL_call     c error deliver<br>  834 Length       c 488<br>  834 VCL_call     c deliver deliver<br>

  834 TxProtocol   c HTTP/1.1<br>  834 TxStatus     c 503<br>  834 TxResponse   c Service Unavailable<br>  834 TxHeader     c Content-Type: text/html; charset=utf-8<br>  834 TxHeader     c Content-Length: 488<br>  834 TxHeader     c Date: Thu, 23 Dec 2010 09:59:50 GMT<br>

  834 TxHeader     c Connection: close<br><br><br>Regards,<br>    Anand<br><br><div class="gmail_quote">On Thu, Dec 23, 2010 at 3:02 PM, Robert Shilston <span dir="ltr"><<a href="mailto:rtshilston@gmail.com">rtshilston@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Anand,<br>
<br>
My VCL extract coped with a backend failure - if all backends fail on their monitoring probe (which, for example, might monitor any database replication lag etc), then Varnish will fail over to sending requests to any backend, regardless of its perceived health.  This allows for the possibility of service continuing in a worst case scenario, whilst still behaving well when there's just a partial degradation of backends.<br>


<br>
Rob<br>
<br>
On 23 Dec 2010, at 08:05, Traian Bratucu wrote:<br>
<br>
> Anand,<br>
><br>
> You may want to look at grace mode, it could resolve your issue. When the backend is too busy you can serve stale content for a minute or something.<br>
><br>
> Have a look: <a href="http://www.varnish-cache.org/docs/trunk/tutorial/handling_misbehaving_servers.html" target="_blank">http://www.varnish-cache.org/docs/trunk/tutorial/handling_misbehaving_servers.html</a><br>
><br>
> Traian<br>
> ________________________________________<br>
> From: <a href="mailto:varnish-misc-bounces@varnish-cache.org">varnish-misc-bounces@varnish-cache.org</a> [<a href="mailto:varnish-misc-bounces@varnish-cache.org">varnish-misc-bounces@varnish-cache.org</a>] On Behalf Of Anand Shah [<a href="mailto:imanandshah@gmail.com">imanandshah@gmail.com</a>]<br>


> Sent: Thursday, December 23, 2010 6:26 AM<br>
> To: Robert Shilston<br>
> Cc: <a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
> Subject: Re: Too many 503 backend errors<br>
<div class="im">><br>
> Thanks robert,<br>
><br>
> But i have already tried all this stuff's. The problem with probing is that if your back-end is unhealthy for a second and if varnish declares it unhealthy due to some reason than it shows backend unhealthy for next 5 mins or so whereas the interval is only 5s. So if i m running on one back-end all the requests for this backend fails.<br>


><br>
> The one i m using is a very domain with 3000 req/s.<br>
><br>
> so cannot afford a second of unhealthy network or unreachability.<br>
><br>
> Regards,<br>
>     Anand<br>
><br>
><br>
</div><div><div></div><div class="h5">> _______________________________________________<br>
> varnish-misc mailing list<br>
> <a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
> <a href="http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" target="_blank">http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a><br>
<br>
</div></div></blockquote></div><br>