1. 16 Aug, 2018 11 commits
  2. 14 Aug, 2018 19 commits
  3. 20 Jun, 2018 10 commits
    • Poul-Henning Kamp's avatar
      Remember to set the REQ_DONE state when we unset the bereq.body; · 4c2f0d9b
      Poul-Henning Kamp authored
      Found by:	fgs & ASAN
      4c2f0d9b
    • Poul-Henning Kamp's avatar
      Add missing VTCP_Close() · 4e50978e
      Poul-Henning Kamp authored
      4e50978e
    • Poul-Henning Kamp's avatar
    • Dag Haavi Finstad's avatar
    • Martin Blix Grydeland's avatar
      New fix for #2285 and #2624 · a61b713d
      Martin Blix Grydeland authored
      Previous fix for #2285 (and the duplicate #2624) was missdiagnosed. The
      problem stems from a wrong assumption that the number of bytes already
      pipelined will be less than maxbytes, with maxbytes beeing the maximum
      number of bytes the HTC_RxStuff may need to get a full work unit. That
      assumption may fail during the H/1 to H/2 upgrade path where maxbytes
      change with the context, or during runtime changing of parameters.
      
      This patch makes HTC_RxStuff not assert if the pipelined data turned out
      to exceed maxbytes, but return overflow if we run out of workspace.
      
      (#2624 has received a workaround in the H/2 code that perhaps should be
      reverted).
      a61b713d
    • Martin Blix Grydeland's avatar
      Fixups from 'Fix PROXY and HTTP/1 proto dissectors' · 5601a4cc
      Martin Blix Grydeland authored
      Remove old and now invalid assert.
      
      Change order of evaluation in if-statement to make sure we don't step
      outside rxbuf_e.
      5601a4cc
    • Nils Goroll's avatar
      Backend_health: report error details · 46d1ad5c
      Nils Goroll authored
      Previously, tracing the root cause of probe failures was unnecessarily
      complicated by the fact that the probe window bits and timing
      information were the only source of information when no HTTP status
      line was logged and for the case of all the bits being zero, almost
      impossible (e.g. differentiating between a local and remote connection
      open failure).
      
      We now re-use the response field for failing probes also.
      46d1ad5c
    • Nils Goroll's avatar
      add the long missing per-backend busy and unhealthy counters · 32c5de64
      Nils Goroll authored
      Conflicts:
      	bin/varnishd/cache/cache_backend.c
      32c5de64
    • Nils Goroll's avatar
      holddown times for certain backend connection errors · 02b7e718
      Nils Goroll authored
      This is similar to the vca pace: Depending on the backend connection
      error, it does not make sense to re-try in rapid succession, instead
      not attempting the failed connection again for some time will save
      resources both locally and remotely, where applicable, and should
      thus help improve the overall situation.
      
      Fixes #2622
      02b7e718
    • Nils Goroll's avatar
      Statistics for backend open errors · 4a0dcf40
      Nils Goroll authored
      Previously, we had zero stats on the cause of backend connection
      errors, which made it close to impossible to diagnose such issues in
      retrospect (only via log mining).
      
      We now pass an optional backend vsc to vcp and record errors per
      backend.
      
      Open errors are really per vcp entry (ip + port or udc path), which
      can be shared amongst backends (and even vcls), but we maintain the
      counters per backend (and, consequently, per vcl) for simplicity.  It
      should be noted though that errors for shared endpoints affect all
      backends using them.
      
      Ref #2622
      
      Conflicts:
      	bin/varnishd/cache/cache_backend.c
      4a0dcf40