1. 27 Oct, 2020 3 commits
  2. 26 Oct, 2020 13 commits
  3. 24 Oct, 2020 1 commit
  4. 23 Oct, 2020 3 commits
  5. 22 Oct, 2020 2 commits
  6. 21 Oct, 2020 11 commits
  7. 20 Oct, 2020 2 commits
  8. 19 Oct, 2020 5 commits
    • Dridi Boukelmoune's avatar
      varnishtest: Tweak default h2 window parameters · c9fc3842
      Dridi Boukelmoune authored
      This change increases the initial size and reduces the low watermark.
      
      RFC7540 says this:
      
      > Flow-controlled frames from the sender and WINDOW_UPDATE frames from
      > the receiver are completely asynchronous with respect to each other.
      > This property allows a receiver to aggressively update the window
      > size kept by the sender to prevent streams from stalling.
      
      The default parameters are very much on the low-latency aggressive
      updates end of the spectrum, which increases asynchronicity at the
      expense of determinism in test cases.
      
      The tweaks made by varnishtest allows basic tests to send a few request
      bodies before being bothered by window update race conditions. Test
      cases that cover h2 flow control or anything else related to window
      updates may reset parameters or pick other specific values. This frees
      us from a bunch of barriers where the purpose of mitigating this race
      was rarely even documented.
      
      This successfully passed the following test locally:
      
          git grep -Fl +http2 -- '*.vtc' |
          xargs bin/varnishtest/varnishtest -i -n100 -j32
      
      We can hope that h2 test cases will be overall more stable from now on.
      
      Refs #3442
      c9fc3842
    • Poul-Henning Kamp's avatar
      b584e04a
    • Poul-Henning Kamp's avatar
      Fix a Flexelint warning which has bothered me for ages. · 597a34c2
      Poul-Henning Kamp authored
      The message makes very little sense when you read it, and it was only
      a pure accident which finally resolved what it means:
      
          Info 768: global struct member 'backend' (line 51, file cache/cache_backend.h) not referenced
          cache/cache_backend.h  51  Info 830: Location cited in prior message
      
      If you have:
      
      	struct backend;
      
      	void somefunc(struct backend *);
      
      	struct backend {
      		...
      	};
      
      All is fine.
      
      But without the `somefunc` prototype, the first vacuous mention of
      `struct backend` is unused, and FlexeLint uses the name *of* the
      struct as the name of a field *in* the struct, and compounds the
      confusion by emitting the message on the line where struct backend
      is finally flushed out.
      597a34c2
    • Poul-Henning Kamp's avatar
    • Poul-Henning Kamp's avatar