PiBa-NL
2018-12-08 21:54:32 UTC
Hi List, Willy,
The regtest /reg-tests/log/b00000.vtc, is failing for me as shown
below, and attached:
***Â s1Â Â Â 0.0 accepted fd 5 127.0.0.1 29538
**Â Â s1Â Â Â 0.0 === rxreq
---- s1Â Â Â 0.0 HTTP rx failed (fd:5 read: Connection reset by peer)
***Â c1Â Â Â 0.0 closing fd 8
**Â Â c1Â Â Â 0.0 Ending
*   top  0.0 RESETTING after ./reg-tests/log/b00000.vtc
This happens because the health-check makes a tcp connection, then
disconnects, but s1 server expects a http-request.
So to fix this, i propose to apply 1 out of 3 possible fixes i could
imagine, each one does fix the test when executed.
a- use s2 server specifically for the tcp health-check
b- use a option httpchk, and repeat s1 server twice
c- remove the health-check completely.
I think option C is probably the cleanest and most fail-safe way. And am
'pretty sure' that the health-check isn't actually needed to reproduce
the original issue. Anyhow health-checks could be a source of random
test-failures when the system is really slow it might need 2 checks
during a test, and normal varnishtest server's only processes 1
connection unless specified differently, or using a 's0 -dispatch'.
Or on second (fourth? / last) thought, is there a bug somewhere as the
tcp-health-check 'should' abort the connection even before the
3way-tcp-handshake is completed? And as such s1 should not see that
first connection?? (Is that also possible/valid for a FreeBSD system? Or
would that be a linux trick?)
Regards,
PiBa-NL (Pieter)
The regtest /reg-tests/log/b00000.vtc, is failing for me as shown
below, and attached:
***Â s1Â Â Â 0.0 accepted fd 5 127.0.0.1 29538
**Â Â s1Â Â Â 0.0 === rxreq
---- s1Â Â Â 0.0 HTTP rx failed (fd:5 read: Connection reset by peer)
***Â c1Â Â Â 0.0 closing fd 8
**Â Â c1Â Â Â 0.0 Ending
*   top  0.0 RESETTING after ./reg-tests/log/b00000.vtc
This happens because the health-check makes a tcp connection, then
disconnects, but s1 server expects a http-request.
So to fix this, i propose to apply 1 out of 3 possible fixes i could
imagine, each one does fix the test when executed.
a- use s2 server specifically for the tcp health-check
b- use a option httpchk, and repeat s1 server twice
c- remove the health-check completely.
I think option C is probably the cleanest and most fail-safe way. And am
'pretty sure' that the health-check isn't actually needed to reproduce
the original issue. Anyhow health-checks could be a source of random
test-failures when the system is really slow it might need 2 checks
during a test, and normal varnishtest server's only processes 1
connection unless specified differently, or using a 's0 -dispatch'.
Or on second (fourth? / last) thought, is there a bug somewhere as the
tcp-health-check 'should' abort the connection even before the
3way-tcp-handshake is completed? And as such s1 should not see that
first connection?? (Is that also possible/valid for a FreeBSD system? Or
would that be a linux trick?)
Regards,
PiBa-NL (Pieter)