1. 14 Jan, 2020 1 commit
  2. 13 Jan, 2020 7 commits
  3. 10 Jan, 2020 1 commit
  4. 09 Jan, 2020 3 commits
  5. 08 Jan, 2020 3 commits
    • Dridi Boukelmoune's avatar
      Linux documents SO_SNDTIMEO in socket(7) · 9a7dc49b
      Dridi Boukelmoune authored
      Closes #3178
      9a7dc49b
    • Dridi Boukelmoune's avatar
      Stabilize s10 · bcba9649
      Dridi Boukelmoune authored
      Contrary to previous attempts this one takes a different route that
      is much more reliable and faster.
      
      First, it sets things up so that we can predicatbly lock varnish when
      it's trying to send the first (and only) part of the body. Instead of
      assuming a delay that is sometimes not enough under load, we wait for
      the timeout to show up in the log.
      
      We can't put the barrier in l1 or l2 because logexpect spec evaluation
      is eager, in order to cope with the VSL API.
      
      Because we bypass the cache, we can afford letting c1 bail out before
      completing the transaction, which is necessary because otherwise the
      second c1 run would take forever on FreeBSD that takes our request to
      limit the send buffer to 128 octets very seriously (on Linux we get
      around 4k).
      
      Because we use barriers, the send and receive buffers were bumped to
      256 to ensure c1 doesn't fail (on FreeBSD) before it reaches barrier
      statements.
      bcba9649
    • Dridi Boukelmoune's avatar
      Polish · 8f38a64f
      Dridi Boukelmoune authored
      8f38a64f
  6. 05 Jan, 2020 2 commits
  7. 03 Jan, 2020 2 commits
  8. 02 Jan, 2020 3 commits
    • Dridi Boukelmoune's avatar
      Attempt at stabilizing s10 · df9f3489
      Dridi Boukelmoune authored
      This test has been relying on SLT_Debug records from day one and now
      that we have SLT_Notice we could perpetuate this information and at
      the same time grant ourselves the freedom to explain each case and
      which parameters may be used to try to improve the situation.
      df9f3489
    • Dridi Boukelmoune's avatar
      Attempt at stabilizing e19 · 895810cb
      Dridi Boukelmoune authored
      I'm no longer able to time it out under load.
      895810cb
    • Dridi Boukelmoune's avatar
      Stabilize c91 · bbfc5df5
      Dridi Boukelmoune authored
      There was a race with the reuse of s1 and server -dispatch was the
      simplest way to also circumvent the race where varnish could retry
      before s1 would reach the next accept action.
      
      While at it, add coverage for the 503 case.
      bbfc5df5
  9. 01 Jan, 2020 3 commits
  10. 31 Dec, 2019 2 commits
    • Dridi Boukelmoune's avatar
      Tweak test cases to work with or disable accept_filter · ef420233
      Dridi Boukelmoune authored
      The test cases disabling the accept_filter parameter are those involving
      GET requests with a body that are meant to be cached, and one test case
      covering OOB data. The rest uses the POST method since the httpready
      filter will only let syntactically correct GET or HEAD methods pass to
      the application.
      
      Apparently FreeBSD's httpready filter considers that a GET request with
      a body is syntactically incorrect although this is not specifically said
      in the manual. The HTTP specification doesn't forbid such requests and
      they are hard to justify considering the semantics of GET and HEAD, but
      there are products in the wild relying on that.
      
      On the other hand GET\r\n\r\n isn't considered malformed, see r01881.vtc.
      
      We don't need the dataready filter on FreeBSD for listen addresses that
      expect a PROXY protocol header, the httpready filter will effectively
      work like that if the request doesn't look like a GET or a HEAD.
      ef420233
    • Dridi Boukelmoune's avatar
      Add a hint in the accept_filter documentation · 5604bdaa
      Dridi Boukelmoune authored
      Trying to understand why I was seeing setsockopt fail on FreeBSD VTEST
      boxes and why it failed with an undocumented ENOENT I finally realized
      that I needed to kldload accf_http beforehand.
      
      The ENOENT errno was probably a result of accept_filter code not finding
      a kernel module for "httpready".
      5604bdaa
  11. 30 Dec, 2019 7 commits
  12. 29 Dec, 2019 6 commits