[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

 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?


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