Skip to content

Commit

Permalink
RX_CLOSE_IDLE accounted as sc_rx_close_idle for timeout_idle hit
Browse files Browse the repository at this point in the history
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
  • Loading branch information
nigoroll committed Feb 13, 2020
1 parent 1f12348 commit 8919851
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
8 changes: 8 additions & 0 deletions bin/varnishd/VSC_main.vsc
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion bin/varnishd/cache/cache_session.c
Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions include/tbl/sess_close.h
Expand Up @@ -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")
Expand Down

0 comments on commit 8919851

Please sign in to comment.