[master] c8d0781df Stabilise r02020.vtc
Martin Blix Grydeland
martin at varnish-software.com
Wed Sep 1 15:55:06 UTC 2021
commit c8d0781df30107481b3b199995973eee547dd034
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date: Wed Sep 1 17:52:29 2021 +0200
Stabilise r02020.vtc
This makes use of the fact that Varnish will always send a session window
update immediately when receiving a data frame. The four rxwinup before
barrier sync on stream 0 matches up with the four txdata frames sent early
on the stream, and makes sure that the session thread has exhausted its
send window completely before opening up and starting to consume rxbuf
data by unblocking the client thread stuck in vcl_recv. From that point on
window updates will also be sent on the stream.
diff --git a/bin/varnishtest/tests/t02020.vtc b/bin/varnishtest/tests/t02020.vtc
index 77738e17f..6a2ace287 100644
--- a/bin/varnishtest/tests/t02020.vtc
+++ b/bin/varnishtest/tests/t02020.vtc
@@ -1,6 +1,6 @@
varnishtest "H/2 received data frames with padding"
-barrier b1 sock 2
+barrier b1 sock 3
server s1 {
rxreq
@@ -34,7 +34,26 @@ client c1 {
txdata -data abcde -padlen 1
rxresp
expect resp.status == 200
- } -run
+ } -start
+} -run
+
+client c2 {
+ # This makes use of the fact that Varnish will always send a
+ # session window update immediately when receiving a data
+ # frame. The four rxwinup before barrier sync on stream 0 matches
+ # up with the four txdata frames sent early on the stream, and
+ # makes sure that the session thread has exhausted its send window
+ # completely before opening up and starting to consume rxbuf data
+ # by unblocking the client thread stuck in vcl_recv. From that
+ # point on window updates will also be sent on the stream.
+
+ stream 0 {
+ rxwinup
+ rxwinup
+ rxwinup
+ rxwinup
+ barrier b1 sync
+ } -start
stream 3 {
txreq -req POST -url /3 -hdr "content-length" "131072" -nostrend
@@ -55,12 +74,14 @@ client c1 {
txdata -datalen 672
rxresp
expect resp.status == 200
- } -run
+ } -start
+} -run
+client c3 {
stream 5 {
txreq -req POST -url /5 -nostrend
txdata -data a -padlen 255
rxresp
expect resp.status == 200
- } -run
+ } -start
} -run
More information about the varnish-commit
mailing list