1. 07 Dec, 2016 1 commit
  2. 05 Dec, 2016 3 commits
    • Martin Blix Grydeland's avatar
      Increase delay in r02035.vtc · debcb99d
      Martin Blix Grydeland authored
      Increase the Nagle-avoidance delay in r02035.vtc to make the test case
      less timing sensitive.
      debcb99d
    • Martin Blix Grydeland's avatar
      Fix buffer overflow in HTC_RxInit on workspace exhaustion · c1fa3248
      Martin Blix Grydeland authored
      HTC_RxInit and HTC_RxReInit could write a single '\0' NUL character
      outside of the workspace when its called and there is zero bytes left
      in the workspace. This would trigger the workspace canary causing
      subsequent assertion.
      
      Fix by releaving HTC_RxInit and HTC_RxReInit of adding the '\0'
      character.
      
      HTC_RxStuff and V1F_FetchRespHdr returns HTC_S_OVERFLOW if the
      available buffer space is zero. Both make sure to insert the '\0'
      character just before calling the completion check function.
      
      Note that this fix does not change the fact that we have exchausted
      the workspace and are unable to continue. Varnishd will panic
      nonetheless, but at least we have not stepped out of our boundries.
      
      Ref: #1834
      c1fa3248
    • Martin Blix Grydeland's avatar
      Add an assert preventing buffer overflows · a9e67666
      Martin Blix Grydeland authored
      Make sure that the workspace can accomodate the pipelined data before
      memmoving it into place in SES_RxReInit.
      a9e67666
  3. 01 Dec, 2016 1 commit
  4. 28 Nov, 2016 3 commits
    • Pål Hermunn Johansen's avatar
      Update changelog · 81c755c0
      Pål Hermunn Johansen authored
      81c755c0
    • Martin Blix Grydeland's avatar
      Finish range delivery processing when the range is delivered. · ce079acd
      Martin Blix Grydeland authored
      When doing range delivery, make the delivery processing finish early
      when all of the bytes of the requested range has been delivered. This
      to avoid waiting around for a slow fetch to finish before handling the
      next request on the connection.
      
      Fixes: #2035
      ce079acd
    • Martin Blix Grydeland's avatar
      Allow delivery processors to finish early · ca9c4b59
      Martin Blix Grydeland authored
      A delivery processor may want to finish the delivery early. Change the
      return value from VDP_bytes and the delivery processors into 3
      categories. 0 means continue, negative is error and positive is
      finished.
      
      The latching of errors (to help ESI delivery continue while still
      recording the error) will latch the lowest non-zero value observed.
      
      VDP_gunzip is fixed to not unconditionally return errors.
      
      Also add some text to explain the behaviour of VDP_bytes and its
      delivery processors.
      ca9c4b59
  5. 24 Nov, 2016 1 commit
  6. 23 Nov, 2016 1 commit
  7. 22 Nov, 2016 5 commits
    • Nils Goroll's avatar
      keep a reserve of idle theads for vital tasks · 199d1ca4
      Nils Goroll authored
      (backend tasks for the time being)
      
      Add parameter thread_pool_reserve to tweak
      
      Conflicts:
      	bin/varnishd/mgt/mgt_pool.c
      199d1ca4
    • Nils Goroll's avatar
      clarify that the enum implies a priority · d564695c
      Nils Goroll authored
      d564695c
    • Nils Goroll's avatar
      Apply queue limits only to requests · 6a672d40
      Nils Goroll authored
      We should queue bo tasks to avoid failing client requests
      unnecessarily.
      
      The detailed parameter description of the queue_limit was already
      correct, improve the short one.
      6a672d40
    • Nils Goroll's avatar
      fix a potential race · 674cd521
      Nils Goroll authored
      The nthr => wthread_min assertion could trigger if
      wthread_min was changed after the first comparison.
      674cd521
    • Nils Goroll's avatar
      wake up herder from sleeping after destroying, sleep for longer · f5d5587e
      Nils Goroll authored
      Previously, after sending a thread to varnish heaven, the herder slept
      for wthread_destroy_delay unconditionally. Instead, we now wait on the
      cv so we get woken up in case we run dry during the delay.
      
      This change is relevant proportionally to the value of
      wthread_destroy_delay if the spread between thread_pool_min and
      thread_pool_max is big and varnish is exposed to sudden traffic peaks.
      
      IOW, it will probably be only relevant for high performance setups.
      
      Also, we now sleep for thread_pool_timeout unless a shorter delay is
      warranted. This will delay the effect of thread parameter changes for
      up to thread_pool_timeout seconds unless the pool runs dry, in which
      case they will become effective immediately.
      f5d5587e
  8. 18 Nov, 2016 1 commit
  9. 17 Nov, 2016 3 commits
  10. 16 Nov, 2016 3 commits
  11. 25 Oct, 2016 1 commit
  12. 21 Oct, 2016 1 commit
  13. 13 Oct, 2016 4 commits
  14. 12 Oct, 2016 4 commits
  15. 11 Oct, 2016 2 commits
    • Martin Blix Grydeland's avatar
      Fix test for duplicate links in vsl_dispatch · fd958451
      Martin Blix Grydeland authored
      This test wasn't working as it was supposed to, and would cause the
      forward links graph building of log transactions to fail. The fail was
      soft, as the reverse mapping still succeeded creating the right
      mapping.
      
      Depending on when the local thread log buffer was flushed, the problem
      would show as spurious "duplicate link" log records to be inserted.
      
      Fixes: #1830
      fd958451
    • Federico G. Schwindt's avatar
      Document %r behaviour · d3df37f2
      Federico G. Schwindt authored
      Fixes #2017.
      d3df37f2
  16. 14 Sep, 2016 4 commits
  17. 13 Sep, 2016 2 commits