1. 27 Jan, 2009 2 commits
  2. 24 Jan, 2009 2 commits
  3. 23 Jan, 2009 2 commits
  4. 22 Jan, 2009 2 commits
  5. 21 Jan, 2009 1 commit
    • Poul-Henning Kamp's avatar
      Enforce a minimum ttl for "hit for pass" objects to prevent a value · 99968684
      Poul-Henning Kamp authored
      of zero from serializing access to an object with very draconian
      backend cache-control headers.
      
      We could get far even with a one second TTL, but following our general
      "there is a reason people put Varnish there in the first place" logic
      we use the default_ttl parameter (default: 120 s) for this value.
      
      If another value is desired, this can be set in vcl_fetch, even if it
      looks somewhat counter-intuitive:
      
      	sub vcl_fetch {
      		if (obj.http.set-cookie) {
      			set obj.ttl = 10s;
      			pass;
      		}
      	}
      
      Fixes #425
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@3537 d4fa192b-c00b-0410-8231-f00ffab90ce4
      99968684
  6. 19 Jan, 2009 7 commits
  7. 18 Jan, 2009 9 commits
  8. 14 Jan, 2009 2 commits
    • Poul-Henning Kamp's avatar
      After HSH_Lookup() returns NULL indicating a busy object, we diddled · f50a3412
      Poul-Henning Kamp authored
      the session a bit to transfer the per-request stats to the session
      counters with SES_Charge().
      
      Not only was it inconsistent to charge accounting data in the middle
      of a request, it was also illegal because after the hash lock was
      released we no longer owned the session.
      
      Once a system is under sufficient load that there is a queue for the
      CPU, a race could happen where upon hitting a busy object, the hash lock
      was released, another thread would schedule, finish the busy object,
      start the sessions on the waiting list, finish off the request we had
      and then when we get the cpu again and access it, it's gone.
      
      The previous commit (r3512) eliminated the need to call SES_Charge,
      this commit removes the (option) shmlog message inside the hash lock
      thus, hopefully, eliminating the race that caused #418.
      
      Fixes: #418
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@3513 d4fa192b-c00b-0410-8231-f00ffab90ce4
      f50a3412
    • Poul-Henning Kamp's avatar
      Originally we shaved 64 bytes from the session to the worker thread · afec9950
      Poul-Henning Kamp authored
      by keeping the current requests accounting stats in the worker thread.
      
      For reasons which will be explained in the next commit, this is no
      longer a good idea, and this commit moves these counters from
      the worker thread to the session at a slight but all in all
      trivial cost in memory footprint.
      
      Remove the call to SES_Charge() when we hit a busy object, it is
      not necessary to clean the worker thread counters here now.
      
      Move these counters from the worker thread to the see
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@3512 d4fa192b-c00b-0410-8231-f00ffab90ce4
      afec9950
  9. 13 Jan, 2009 4 commits
  10. 12 Jan, 2009 5 commits
  11. 10 Jan, 2009 4 commits