[Varnish] #1158: graced objects serve very old objects

Varnish varnish-bugs at varnish-cache.org
Tue Jun 19 17:54:47 CEST 2012


#1158: graced objects serve very old objects
----------------------+-----------------------------------------------------
 Reporter:  nicholas  |        Type:  enhancement
   Status:  new       |    Priority:  normal     
Milestone:            |   Component:  varnishd   
  Version:  3.0.2     |    Severity:  normal     
 Keywords:  grace     |  
----------------------+-----------------------------------------------------
 Hello,
 this is probably not a bug just surprising behaviour:

 We had problems this morning, and served a fair amount of errors for some
 while. Problem got solved, but error pages still got served at random
 intervals.

 We had
 vcl_recv  { set req.grace = 8h ...}
 vcl_fetch { set beresp.grace = 8h ...}
 and it looks like it picked very old objects every time it graced simple
 requests while backend is healthy. IN normal operation we grace quite a
 lot of concurrent objects. We would hope it picked the last available,
 ordered by time. It looked like it picked ordered by time reverse.

 We have now done the "if (req.backend.healthy)" checks indicated in
 https://www.varnish-cache.org/trac/wiki/VCLExampleGrace

 We took those out some years back when it was obvious that we didn't know
 which backend was in use at the beginnning of the vcl. We now do the "if
 (req.backend.healthy)" at the end of vcl_recv.

 Is this the recommended way?

 Nicholas

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1158>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list