[master] 9bf8e871f Log using SLT_Notice on condfetch streaming delay

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Fri Dec 20 11:21:07 UTC 2019

commit 9bf8e871ff4232e6fce6578d53e3aac0f8ffd3c4
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date:   Mon Nov 25 12:01:42 2019 +0100

    Log using SLT_Notice on condfetch streaming delay
    Log a notice message when delaying a conditional fetch and the stale
    template object is still streaming.

diff --git a/bin/varnishd/cache/cache_fetch.c b/bin/varnishd/cache/cache_fetch.c
index 3a1b91563..4eaa36a10 100644
--- a/bin/varnishd/cache/cache_fetch.c
+++ b/bin/varnishd/cache/cache_fetch.c
@@ -702,6 +702,8 @@ vbf_stp_condfetch(struct worker *wrk, struct busyobj *bo)
 		 * single slow body fetch. Second it makes sure that all
 		 * the object attributes are complete when we copy them
 		 * (this would be an issue for ie OA_GZIPBITS). */
+		VSLb(bo->vsl, SLT_Notice,
+		    "[core] Conditional fetch wait for streaming object");
 		ObjWaitState(bo->stale_oc, BOS_FINISHED);
 		stale_state = stale_boc->state;
 		HSH_DerefBoc(bo->wrk, bo->stale_oc);
diff --git a/doc/sphinx/reference/vsl.rst b/doc/sphinx/reference/vsl.rst
index 7ea7860e3..71a3110b4 100644
--- a/doc/sphinx/reference/vsl.rst
+++ b/doc/sphinx/reference/vsl.rst
@@ -112,6 +112,15 @@ for core Varnish generated messages, or with [<VMOD name>] for VMOD
 generated messages. The [core] messages are described in detail below, see
 the individual VMOD documentation for messages from VMODs.
+[core] Conditional fetch wait for streaming object
+	The backend answered 304 Not Modified on a conditional fetch using
+	an object that has not yet been fully fetched as the stale
+	template object. This can only happen when the TTL of the object
+	is less than the time it takes to fetch it. The fetch is halted
+	until the stale object is fully fetched, upon which the new object
+	is created as normal. While waiting, any grace time on the stale
+	object will be in effect.

More information about the varnish-commit mailing list