[master] f087fe6d3 Align ESI bodybytes accounting with #3354

Poul-Henning Kamp phk at FreeBSD.org
Mon Oct 5 07:25:07 UTC 2020


commit f087fe6d37679d8d709cfec85451fde4f68fbb95
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Oct 5 07:23:47 2020 +0000

    Align ESI bodybytes accounting with #3354

diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index 9bd59b5c7..daf9ece9c 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -475,7 +475,7 @@ static inline int
 ved_bytes(struct req *req, struct ecx *ecx, enum vdp_action act,
     const void *ptr, ssize_t len)
 {
-	req->acct.resp_bodybytes += len;
+	(void)req;
 	if (act == VDP_END)
 		act = VDP_FLUSH;
 	return (VDP_bytes(ecx->preq, act, ptr, len));
@@ -871,5 +871,5 @@ ved_deliver(struct req *req, struct boc *boc, int wantbody)
 	if (i && req->doclose == SC_NULL)
 		req->doclose = SC_REM_CLOSE;
 
-	(void)VDP_Close(req);
+	req->acct.resp_bodybytes += VDP_Close(req);
 }
diff --git a/bin/varnishtest/tests/e00000.vtc b/bin/varnishtest/tests/e00000.vtc
index 3030a11c7..47bcdc574 100644
--- a/bin/varnishtest/tests/e00000.vtc
+++ b/bin/varnishtest/tests/e00000.vtc
@@ -32,3 +32,4 @@ client c1 {
 client c1 -run
 logexpect l1 -wait
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 33
diff --git a/bin/varnishtest/tests/e00001.vtc b/bin/varnishtest/tests/e00001.vtc
index 8a4a42480..c903a0acb 100644
--- a/bin/varnishtest/tests/e00001.vtc
+++ b/bin/varnishtest/tests/e00001.vtc
@@ -38,3 +38,4 @@ client c1 {
 client c1 -run
 logexpect l1 -wait
 varnish v1 -expect esi_errors == 2
+varnish v1 -expect MAIN.s_resp_bodybytes == 40
diff --git a/bin/varnishtest/tests/e00002.vtc b/bin/varnishtest/tests/e00002.vtc
index 244d4bce5..2ca2b1352 100644
--- a/bin/varnishtest/tests/e00002.vtc
+++ b/bin/varnishtest/tests/e00002.vtc
@@ -27,3 +27,4 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 35
diff --git a/bin/varnishtest/tests/e00003.vtc b/bin/varnishtest/tests/e00003.vtc
index be3eb1a21..23041400c 100644
--- a/bin/varnishtest/tests/e00003.vtc
+++ b/bin/varnishtest/tests/e00003.vtc
@@ -84,6 +84,7 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 150
 
 logexpect l1 -wait
 logexpect l2 -wait
diff --git a/bin/varnishtest/tests/e00004.vtc b/bin/varnishtest/tests/e00004.vtc
index 9e19b667f..44a31c760 100644
--- a/bin/varnishtest/tests/e00004.vtc
+++ b/bin/varnishtest/tests/e00004.vtc
@@ -33,3 +33,4 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 67
diff --git a/bin/varnishtest/tests/e00005.vtc b/bin/varnishtest/tests/e00005.vtc
index 832a6eeee..7137195b6 100644
--- a/bin/varnishtest/tests/e00005.vtc
+++ b/bin/varnishtest/tests/e00005.vtc
@@ -34,3 +34,4 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 67
diff --git a/bin/varnishtest/tests/e00006.vtc b/bin/varnishtest/tests/e00006.vtc
index e1b7319c0..b6b511808 100644
--- a/bin/varnishtest/tests/e00006.vtc
+++ b/bin/varnishtest/tests/e00006.vtc
@@ -43,6 +43,7 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 78
 
 # Now try with invalid URLs
 
@@ -78,14 +79,19 @@ client c1 {
 	rxresp
 	expect resp.status == 200
 	expect resp.bodylen == 4
+} -run
+
+varnish v1 -expect esi_errors == 1
+varnish v1 -expect MAIN.s_resp_bodybytes == 82
+
+client c1 {
 	txreq -url /https
 	rxresp
 	expect resp.status == 200
 	expect resp.bodylen == 6
-}
-
-client c1 -run
+} -run
 
 logexpect l1 -wait
 
 varnish v1 -expect esi_errors == 2
+varnish v1 -expect MAIN.s_resp_bodybytes == 88
diff --git a/bin/varnishtest/tests/e00007.vtc b/bin/varnishtest/tests/e00007.vtc
index 015ffbb15..038f45f47 100644
--- a/bin/varnishtest/tests/e00007.vtc
+++ b/bin/varnishtest/tests/e00007.vtc
@@ -48,3 +48,4 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 120
diff --git a/bin/varnishtest/tests/e00008.vtc b/bin/varnishtest/tests/e00008.vtc
index 4c516e003..1264aea55 100644
--- a/bin/varnishtest/tests/e00008.vtc
+++ b/bin/varnishtest/tests/e00008.vtc
@@ -114,3 +114,4 @@ logexpect l1 -wait
 logexpect l2 -wait
 logexpect l3 -wait
 varnish v1 -expect esi_errors == 18
+varnish v1 -expect MAIN.s_resp_bodybytes == 472
diff --git a/bin/varnishtest/tests/e00009.vtc b/bin/varnishtest/tests/e00009.vtc
index 70a820698..e15e56ae7 100644
--- a/bin/varnishtest/tests/e00009.vtc
+++ b/bin/varnishtest/tests/e00009.vtc
@@ -35,6 +35,7 @@ client c1 {
 } -run
 
 logexpect l1 -wait
+varnish v1 -expect MAIN.s_resp_bodybytes == 57
 
 varnish v1  -cli "param.set feature +esi_disable_xml_check"
 
@@ -46,3 +47,4 @@ client c1 {
 	expect resp.http.transfer-encoding == "chunked"
 } -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 79
diff --git a/bin/varnishtest/tests/e00012.vtc b/bin/varnishtest/tests/e00012.vtc
index 0786c2181..e73f535b1 100644
--- a/bin/varnishtest/tests/e00012.vtc
+++ b/bin/varnishtest/tests/e00012.vtc
@@ -32,6 +32,8 @@ client c1 {
 	expect resp.http.Transfer-Encoding == "chunked"
 } -run
 
+varnish v1 -expect MAIN.s_resp_bodybytes == 67
+
 client c1 {
 	txreq -url /foo/bar -proto HTTP/1.0
 	rxresp
@@ -43,3 +45,4 @@ client c1 {
 } -run
 
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 134
diff --git a/bin/varnishtest/tests/e00015.vtc b/bin/varnishtest/tests/e00015.vtc
index 951785115..3edc19747 100644
--- a/bin/varnishtest/tests/e00015.vtc
+++ b/bin/varnishtest/tests/e00015.vtc
@@ -48,6 +48,7 @@ client c1 {
 varnish v1 -vsl_catchup
 
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 149
 
 server s1 {
 	rxreq
@@ -131,6 +132,8 @@ client c1 {
 	txreq -url /top2 -hdr "fiddle: do_esi"
 	rxresp
 	expect resp.status == 503
+	expect resp.bodylen == 251
 } -run
 
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 865
diff --git a/bin/varnishtest/tests/e00016.vtc b/bin/varnishtest/tests/e00016.vtc
index feb86d614..142032366 100644
--- a/bin/varnishtest/tests/e00016.vtc
+++ b/bin/varnishtest/tests/e00016.vtc
@@ -50,3 +50,4 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 105
diff --git a/bin/varnishtest/tests/e00017.vtc b/bin/varnishtest/tests/e00017.vtc
index dd50cedfb..09333378e 100644
--- a/bin/varnishtest/tests/e00017.vtc
+++ b/bin/varnishtest/tests/e00017.vtc
@@ -86,3 +86,4 @@ client c1 {
 
 client c1 -run
 varnish v1 -expect esi_errors == 0
+varnish v1 -expect MAIN.s_resp_bodybytes == 684
diff --git a/bin/varnishtest/tests/e00019.vtc b/bin/varnishtest/tests/e00019.vtc
index 98ed56f3e..b0b08b8df 100644
--- a/bin/varnishtest/tests/e00019.vtc
+++ b/bin/varnishtest/tests/e00019.vtc
@@ -77,3 +77,4 @@ logexpect l1 -wait
 
 varnish v1 -expect esi_errors == 5
 varnish v1 -expect esi_warnings == 1
+varnish v1 -expect MAIN.s_resp_bodybytes == 65856


More information about the varnish-commit mailing list