Can you try this patch instead:
Index: cache_center.c =================================================================== --- cache_center.c (revision 2639) +++ cache_center.c (working copy) @@ -234,7 +234,6 @@ sp->xid = 0; SES_Charge(sp); sp->t_open = sp->t_end; - sp->t_req = NAN; sp->t_resp = NAN; WSL_Flush(sp->wrk, 0); @@ -242,6 +241,8 @@ if (sp->esis > 0) return (1); + sp->t_req = NAN; + if (sp->fd >= 0 && sp->doclose != NULL) vca_close_session(sp, sp->doclose); if (sp->fd < 0) { Poul-Henning In message <[EMAIL PROTECTED]>, JT Justman writes: >This is a multi-part message in MIME format. >--------------020006040805080601000507 >Content-Type: text/plain; charset=ISO-8859-1; format=flowed >Content-Transfer-Encoding: 7bit > >JT Justman wrote: >> Hi, everyone. I've been doing my best to dig into the bug I opened: >> >> http://varnish.projects.linpro.no/ticket/240 >> >> Basically, every object is inserted, but the second and subsiquent >> objects always miss. > >I have found the cause for the bug, and a potential fix. > >In cache_hash.c function HSH_Lookup, there is a ttl check: > >if (o->ttl >= sp->t_req) > >This test passes on the first ESI and fails on the others. Debugging >shows that the ttl is correct, but t_req is NAN. It seems that t_req is >cleared, and needs to be reset somewhere in ESI or the step flow. > >My solution is to set sp->t_req = TIM_real() in ESI_Deliver. (See patch). > >Not being intimate with the program flow or timing, I don't know what >other implications this could have. Suggestions? > >JT > >--------------020006040805080601000507 >Content-Type: text/x-diff; > name="cache_vrt_esi-jt_2008-05-20.patch" >Content-Transfer-Encoding: 7bit >Content-Disposition: inline; > filename="cache_vrt_esi-jt_2008-05-20.patch" > >Index: cache_vrt_esi.c >=================================================================== >--- cache_vrt_esi.c (revision 2635) >+++ cache_vrt_esi.c (working copy) >@@ -773,6 +773,8 @@ > obj = sp->obj; > sp->obj = NULL; > *sp->http = *sp->http0; >+ if (isnan(sp->t_req)) >+ sp->t_req = TIM_real(); > /* XXX: reset sp->ws */ > http_SetH(sp->http, HTTP_HDR_URL, eb->include.b); > if (eb->host.b != NULL) { > >--------------020006040805080601000507 >Content-Type: text/plain; charset="us-ascii" >MIME-Version: 1.0 >Content-Transfer-Encoding: 7bit >Content-Disposition: inline > >_______________________________________________ >varnish-dev mailing list >varnish-dev@projects.linpro.no >http://projects.linpro.no/mailman/listinfo/varnish-dev > >--------------020006040805080601000507-- > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ varnish-dev mailing list varnish-dev@projects.linpro.no http://projects.linpro.no/mailman/listinfo/varnish-dev