[master] c68e22e Don't do restart from vcl_backend_fetch{}

Poul-Henning Kamp phk at varnish-cache.org
Mon May 6 11:44:00 CEST 2013


commit c68e22ec4e810e8bb59f539d04aebcdccc1c56f5
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon May 6 09:43:48 2013 +0000

    Don't do restart from vcl_backend_fetch{}

diff --git a/bin/varnishtest/tests/c00009.vtc b/bin/varnishtest/tests/c00009.vtc
index e4705bb..7e881ab 100644
--- a/bin/varnishtest/tests/c00009.vtc
+++ b/bin/varnishtest/tests/c00009.vtc
@@ -23,6 +23,13 @@ varnish v1 -vcl+backend {
 
 	sub vcl_backend_response {
 		if (beresp.status != 200) {
+			set beresp.uncacheable = true;
+			set beresp.ttl = 0s;
+			return (deliver);
+		}
+	}
+	sub vcl_deliver {
+		if (resp.status != 200) {
 			return (restart);
 		}
 	}
diff --git a/bin/varnishtest/tests/c00029.vtc b/bin/varnishtest/tests/c00029.vtc
index 07111ba..985d595 100644
--- a/bin/varnishtest/tests/c00029.vtc
+++ b/bin/varnishtest/tests/c00029.vtc
@@ -40,12 +40,17 @@ varnish v1 -arg "-p saintmode_threshold=2" -vcl+backend {
 	sub vcl_backend_response {
 		if (beresp.http.X-Saint == "yes") {
 			set beresp.saintmode = 20s;
-			return(restart);
+			set beresp.uncacheable = true;
+			set beresp.ttl = 0s;
+			return(deliver);
 		}
 		set beresp.grace = 1h;
 		set beresp.ttl = 1s;
 	}
 	sub vcl_deliver {
+		if (resp.http.X-saint == "yes") {
+			return (restart);
+		}
 		set resp.http.X-Restarts = req.restarts;
 	}
  } -start
diff --git a/bin/varnishtest/tests/c00030.vtc b/bin/varnishtest/tests/c00030.vtc
index 9cfec57..51c5042 100644
--- a/bin/varnishtest/tests/c00030.vtc
+++ b/bin/varnishtest/tests/c00030.vtc
@@ -47,12 +47,17 @@ varnish v1 -arg "-p saintmode_threshold=10" -vcl {
 	sub vcl_backend_response {
 		if (beresp.http.X-Saint == "yes") {
 			set beresp.saintmode = 20s;
-			return (restart);
+			set beresp.uncacheable = true;
+			set beresp.ttl = 0s;
+			return(deliver);
 		}
 		set beresp.grace = 1h;
 		set beresp.ttl = 1s;
 	}
 	sub vcl_deliver {
+		if (resp.http.X-saint == "yes") {
+			return (restart);
+		}
 		set resp.http.X-Restarts = req.restarts;
 	}
  } -start
diff --git a/bin/varnishtest/tests/r01113.vtc b/bin/varnishtest/tests/r01113.vtc
index 3df7f91..debeb90 100644
--- a/bin/varnishtest/tests/r01113.vtc
+++ b/bin/varnishtest/tests/r01113.vtc
@@ -20,11 +20,6 @@ varnish v1 -vcl+backend {
 			return(restart);
 		}
 	}
-	sub vcl_backend_response {
-		if (bereq.url == "/fetch") {
-			return(restart);
-		}
-	}
 	sub vcl_deliver {
 		if (req.url == "/deliver") {
 			return(restart);
@@ -51,11 +46,6 @@ client c1 {
 	expect resp.status == 503
 } -run
 client c1 {
-	txreq -url /fetch
-	rxresp
-	expect resp.status == 503
-} -run
-client c1 {
 	txreq -url /deliver
 	rxresp
 	expect resp.status == 503
diff --git a/bin/varnishtest/tests/s00003.vtc b/bin/varnishtest/tests/s00003.vtc
index 35fc3d2..3ed6e98 100644
--- a/bin/varnishtest/tests/s00003.vtc
+++ b/bin/varnishtest/tests/s00003.vtc
@@ -22,10 +22,18 @@ varnish v1 -vcl+backend {
 		if (beresp.http.foo == "2")
 		{
 			set beresp.saintmode = 2s;
-			return (restart);
+			set beresp.status = 606;
+			set beresp.uncacheable = true;
+			set beresp.ttl = 0s;
+			return (deliver);
 		}
 		return(deliver);
 	}
+	sub vcl_deliver {
+		if (resp.status == 606) {
+			return (restart);
+		}
+	}
 } -start
 
 client c1 {



More information about the varnish-commit mailing list