<div dir="ltr">Hi Alex,<div><br></div><div>Thank you very much for your detailed explanation! </div><div><br></div><div>From your explanation I would assume that my problem could be solved if the re-validation would be treated as a pure miss. From what I understand, re-validation is useful when done with If-Modified-Since or If-None-Match. However my responses do not provide the E-Tag header nor the Last-Modified header. Is it possible for Squid to never revalidate but always to assume 'pure cache-miss' when a resource is stale?</div><div><br></div><div>Best regards</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-16 17:20 GMT+02:00 Alex Rousskov <span dir="ltr"><<a href="mailto:rousskov@measurement-factory.com" target="_blank">rousskov@measurement-factory.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 06/16/2016 01:45 AM, Jaap Dam wrote:<br>
<br>
> Thanks for the information. Could you elaborate on when collapsed<br>
> forwarding does apply?<br>
<br>
</span>Squid is currently able to collapse HTTP client [miss] requests (but not<br>
internally generated HTTP requests triggered by HTTP client requests).<br>
Furthermore, to be collapsable, the request must have no markings that<br>
make the future response uncachable.<br>
<span class=""><br>
<br>
> With your extra information, my assumption would<br>
> be that it only applies on requests of a resource that has never been<br>
> cached before.<br>
<br>
</span>I would not phrase it like that because Squid does not remember was has<br>
been cached before, only what is still cached at the query time. There<br>
are three primary cases for an HTTP client request to consider here:<br>
<br>
* pure cache hit: Collapsing is inapplicable because Squid does not send<br>
any requests (there is nothing to collapse). Each HTTP client request is<br>
satisfied from the Squid cache.<br>
<br>
* pure cache miss: Multiple requests for the same missing object can be<br>
collapsed if collapsed_forwarding is enabled. Collapsable requests have<br>
no markings that make the future response uncachable.<br>
<br>
* revalidation: The requested object was found in the cache but it was<br>
stale. Squid sends an internal "revalidation" request to the origin<br>
server or peer. These internal requests are currently not collapsed. We<br>
are working on collapsing them as well.<br>
<span class=""><br>
<br>
> Secondly would you have a suggestion for solving the issue I'm facing?<br>
<br>
<br>
</span>I have not studied the issue you are facing, but if you think collapsing<br>
revalidation requests would solve your problem, then either wait for us<br>
to finish initial collapsed revalidation support (and then see if it<br>
solves your problem) or co-sponsor that ongoing development (to make<br>
sure it solves your problem).<br>
<br>
<br>
HTH,<br>
<br>
Alex.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
> 2016-06-15 17:19 GMT+02:00 Alex Rousskov:<br>
><br>
>     On 06/14/2016 02:51 AM, Jaap Dam wrote:<br>
><br>
>     > I've part of the logging as an attachment. I'm requesting a single URL<br>
>     > in this log. The log starts with a stale cache of the item.<br>
><br>
>     Collapsed forwarding does not apply to cache revalidation requests yet.<br>
>     Factory is working on implementing collapsed revalidations (in some<br>
>     environments), but I cannot promise a specific delivery date or that<br>
>     your particular environment will be covered.<br>
><br>
>     Alex.<br>
><br>
><br>
><br>
><br>
>     > 2016-06-13 15:34 GMT+02:00 Amos Jeffries:<br>
>     ><br>
>     >     On 14/06/2016 12:29 a.m., Jaap Dam wrote:<br>
>     >     > Is the collapsed_forwarding directive the correct one to use<br>
>     for my<br>
>     >     > use-case or am i missing something?<br>
>     ><br>
>     >     Yes it is correct so far as I am understanding your need.<br>
>     ><br>
>     >     For further debugging about what is going on you will need the<br>
>     HTTP<br>
>     >     messages involved. Add the directive "debug_options 11,2 20,3"<br>
>     to your<br>
>     >     config to get them logged in cache.log.<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>