Search squid archive

Re: Vary object loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

I am not sure at all, but based on a very quick look at the code, it
feels like the messages you are getting may not indicate any problems.
The attached patch disables these messages at debugging level 1.

If you receive a more knowledgeable answer, please disregard this
comment and the patch.

Thank you,

Alex.

Do not warn about Vary loops and mismatches. 

I have a feeling that a lot of Vary-handling code has too-high debugging
levels, but it is not clear to me whether those loops are dangerous 
enough to warrant level-1 debugging. This needs to be investigated 
before committing this change.

Index: src/client_side.cc
===================================================================
RCS file: /cvsroot/squid/squid3/src/client_side.cc,v
retrieving revision 1.779
diff -u -r1.779 client_side.cc
--- src/client_side.cc	26 Feb 2008 21:49:34 -0000	1.779
+++ src/client_side.cc	14 Mar 2008 21:11:52 -0000
@@ -3274,7 +3274,7 @@
             /* Oops.. we have already been here and still haven't
              * found the requested variant. Bail out
              */
-            debugs(33, 1, "varyEvaluateMatch: Oops. Not a Vary match on second attempt, '" <<
+            debugs(33, 2, "varyEvaluateMatch: Oops. Not a Vary match on second attempt, '" <<
                     entry->mem_obj->url << "' '" << vary << "'");
             return VARY_CANCEL;
         }
Index: src/client_side_reply.cc
===================================================================
RCS file: /cvsroot/squid/squid3/src/client_side_reply.cc,v
retrieving revision 1.154
diff -u -r1.154 client_side_reply.cc
--- src/client_side_reply.cc	16 Feb 2008 17:42:27 -0000	1.154
+++ src/client_side_reply.cc	14 Mar 2008 21:11:52 -0000
@@ -534,7 +534,7 @@
 
     case VARY_CANCEL:
         /* varyEvaluateMatch found a object loop. Process as miss */
-        debugs(88, 1, "clientProcessHit: Vary object loop!");
+        debugs(88, 2, "clientProcessHit: Vary object loop!");
         processMiss();
         return;
     }

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux