On Mon, 2008-03-17 at 06:25 +0900, Adrian Chadd wrote: > On Fri, Mar 14, 2008, Alex Rousskov wrote: > > > > I think it actually is a bug in the Vary handling in Squid-3. > > > The condition: > > > > > > if (!has_vary || !entry->mem_obj->vary_headers) { > > > if (vary) { > > > /* Oops... something odd is going on here.. */ > > > > > > .. needs to be looked at. > > > > But it is not the condition getting hit according to Aurimas' log, is > > it? > > There's two confusing log messages with the same message, which is confusing > things. The messages are indeed poorly written, but they are different: varyEvaluateMatch: Oops. Not a Vary object on second attempt, varyEvaluateMatch: Oops. Not a Vary match on second attempt, That is why I said that it was the other, arguably less suspicious, condition being hit here. Thanks, Alex. On Fri, 2008-03-14 at 14:58 +0000, Aurimas Mikalauskas wrote: > The next question is about Vary header. I get absolutely amazing > amount of these errors in cache.log: > > 2008/03/14 10:46:54| clientProcessHit: Vary object loop! > 2008/03/14 10:46:54| varyEvaluateMatch: Oops. Not a Vary match on > second attempt, 'http://some.url' 'accept-encoding' > 2008/03/14 10:46:55| clientProcessHit: Vary object loop! > 2008/03/14 10:46:55| varyEvaluateMatch: Oops. Not a Vary match on > second attempt, 'http://some.other.url' > 'accept-encoding="gzip,%20deflate"' > > A rough number: > # grep -c 'Vary object loop' cache.log && wc -l squid_access.log > 244816 > 1842602 squid_access.log > > Any idea what kind of loop that is and how to avoid it?