1. 08 Oct, 2019 1 commit
  2. 07 Oct, 2019 6 commits
    • Nils Goroll's avatar
      fix bereq rollback · 7d25b83b
      Nils Goroll authored
      by properly cleaning up the busyobj
      
      Also move the relevant code from cache_vrt.c to cache_fetch.c
      
      As we fini the director during cleanup, we now also need to handle the
      backend connection gone missing in vbf_stp_fetch(). The hypothetical
      alternative would be to not fini the director, but I believe this is not
      safe in case it also used some workspace.
      
      Fixes #3009
      7d25b83b
    • Nils Goroll's avatar
      add test case by @rezan · 0ed38379
      Nils Goroll authored
      0ed38379
    • Nils Goroll's avatar
      also reset filter_list upon cleanup · e2b43f86
      Nils Goroll authored
      in particular because it may live on the workspace.
      
      Required for #3009
      e2b43f86
    • Nils Goroll's avatar
      centralize cleanup after fetch errors · bbd4c476
      Nils Goroll authored
      imples the following changes:
      
      * VDI_Finish() is now always conditional on bo->director_state !=
        DIR_S_NULL, making it idempotent
      
      * introduces additional calls to VFP_Close() from startfetch and
        for the filter_list / VCL_StackVFP error in vbf_stp_fetch(),
        but VFP_Close() is idempotent.
      
      * adds VFP_Close() for VFP_Open() failure in vbf_stp_fetch() which
        I think is actually missing (for the case that some VFPs could
        get opened before the open failure)
      
      * calls VDI_Finish() earlier in vbf_stp_fetchend: I checked the
        code and can not see any issue with this.
      
      motivated by #3009
      bbd4c476
    • Nils Goroll's avatar
      make VFP_Close() idempotent · ecfd1eb0
      Nils Goroll authored
      required for #3009
      ecfd1eb0
    • Jordan Christiansen's avatar
      0ba4d294
  3. 04 Oct, 2019 1 commit
  4. 03 Oct, 2019 2 commits
  5. 02 Oct, 2019 1 commit
  6. 01 Oct, 2019 1 commit
  7. 30 Sep, 2019 8 commits
  8. 29 Sep, 2019 1 commit
  9. 28 Sep, 2019 1 commit
  10. 27 Sep, 2019 3 commits
  11. 25 Sep, 2019 1 commit
  12. 24 Sep, 2019 1 commit
  13. 23 Sep, 2019 2 commits
  14. 17 Sep, 2019 1 commit
  15. 16 Sep, 2019 6 commits
  16. 13 Sep, 2019 2 commits
  17. 11 Sep, 2019 1 commit
  18. 10 Sep, 2019 1 commit
    • Martin Blix Grydeland's avatar
      Retire the kill(SIGNULL) test in VSM · b845c278
      Martin Blix Grydeland authored
      A bug was uncovered in the VSM code that checks if kill(SIGNULL) would
      work as a test of liveness of the master and worker processes. If the user
      running the utility has the required permissions to send signal to the
      worker process, but not the management process, the code would wrongly
      assume it could do kill on both. It would then end up in a connect loop
      never succeeding.
      
      Because kill() can not always be successfully run (a common scenario when
      the user running varnishlog is not the same UID as the cache processes),
      there is a fall back to using fstat to check for Varnish restarts. Since
      this fallback is active for most use cases anyways, it was decided to
      retire the kill() mechanism rather than to fix it. This way the behaviour
      does not change depending on what user the utility is run as.
      
      This change was OK'd by PHK after discussing it on IRC.
      b845c278