[master] 89198513a RX_CLOSE_IDLE accounted as sc_rx_close_idle for timeout_idle hit

Nils Goroll nils.goroll at uplex.de
Thu Feb 13 21:11:07 UTC 2020


commit 89198513a4fba2ed2370918bc7c78c61c7febdd4
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Thu Feb 13 22:07:42 2020 +0100

    RX_CLOSE_IDLE accounted as sc_rx_close_idle for timeout_idle hit
    
    RX_TIMEOUT was issued when the timeout_idle was hit waiting for another
    client request and accounted as an error in sess_closed_err.
    
    We now turn this case into an RX_CLOSE_IDLE which does not get accounted
    as an error.
    
    Closes #3208

diff --git a/bin/varnishd/VSC_main.vsc b/bin/varnishd/VSC_main.vsc
index ca5704267..a7cacb7cc 100644
--- a/bin/varnishd/VSC_main.vsc
+++ b/bin/varnishd/VSC_main.vsc
@@ -539,6 +539,14 @@
 
 	Number of session closes with Error RX_TIMEOUT (Receive timeout)
 
+.. varnish_vsc:: sc_rx_close_idle
+	:level:	diag
+	:oneliner:	Session Err RX_CLOSE_IDLE
+
+	Number of session closes with Error RX_CLOSE_IDLE:
+	timeout_idle has been exceeded while waiting for a
+	client request.
+
 .. varnish_vsc:: sc_tx_pipe
 	:level:	diag
 	:oneliner:	Session OK  TX_PIPE
diff --git a/bin/varnishd/cache/cache_session.c b/bin/varnishd/cache/cache_session.c
index 973304b88..9549f12b8 100644
--- a/bin/varnishd/cache/cache_session.c
+++ b/bin/varnishd/cache/cache_session.c
@@ -424,7 +424,7 @@ ses_handle(struct waited *wp, enum wait_event ev, vtim_real now)
 
 	switch (ev) {
 	case WAITER_TIMEOUT:
-		SES_Delete(sp, SC_RX_TIMEOUT, now);
+		SES_Delete(sp, SC_RX_CLOSE_IDLE, now);
 		break;
 	case WAITER_REMCLOSE:
 		SES_Delete(sp, SC_REM_CLOSE, now);
diff --git a/include/tbl/sess_close.h b/include/tbl/sess_close.h
index 61d8f3b99..97483147c 100644
--- a/include/tbl/sess_close.h
+++ b/include/tbl/sess_close.h
@@ -40,6 +40,7 @@ SESS_CLOSE(RX_BODY,	  rx_body,	1,	"Failure receiving req.body")
 SESS_CLOSE(RX_JUNK,	  rx_junk,	1,	"Received junk data")
 SESS_CLOSE(RX_OVERFLOW,   rx_overflow,	1,	"Received buffer overflow")
 SESS_CLOSE(RX_TIMEOUT,	  rx_timeout,	1,	"Receive timeout")
+SESS_CLOSE(RX_CLOSE_IDLE, rx_close_idle,0,	"timeout_idle reached")
 SESS_CLOSE(TX_PIPE,	  tx_pipe,	0,	"Piped transaction")
 SESS_CLOSE(TX_ERROR,	  tx_error,	1,	"Error transaction")
 SESS_CLOSE(TX_EOF,	  tx_eof,	0,	"EOF transmission")


More information about the varnish-commit mailing list