[Varnish] #518: Default backend health right after launch
Varnish
varnish-bugs at projects.linpro.no
Tue Jun 16 03:27:32 CEST 2009
#518: Default backend health right after launch
--------------------+-------------------------------------------------------
Reporter: rts | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: build | Version: trunk
Severity: normal | Resolution:
Keywords: |
--------------------+-------------------------------------------------------
Comment (by kb):
Changing the default to healthy is trivial. But I've been going back and
forth on this.
Currently, the user experience is 503 errors instead of an abrupt
connection refused. I'm not fully convinced that's necessarily bad, or at
least any worse than the alternatives.
If the default state for BEs was healthy, traffic would immediately go to
the BEs at startup. But if the URL used to monitor the BEs is intended to
verify the sanity of a BE source, then sending hits, even though they
might "work", could be the wrong decision. And possibly bad data could be
cached, which is much worse than bad data until the health checks
complete.
Other options might be:
* Varnish doesn't listen() until at least one BE is healthy
* Not sure this is a fabulous idea; process active but not listening
* Not as informative as 503s
* Varnish blocks in the case of no healthy BEs
* This is what most load-balancers do by default
* Not sure yet what the consequences would be to the varnish internals
to block in the *_getfd() calls.
Any thoughts?
Ken.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/518#comment:2>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list