Hi Willy,
Op 15-12-2018 om 17:06 schreef Willy Tarreau:
Hi Pieter,

On Sat, Dec 15, 2018 at 04:52:10PM +0100, PiBa-NL wrote:
Hi List, Willy,

Trying to run some existing regtests with added option: option http-use-htx

Using: HA-Proxy version 1.9-dev10-c11ec4a 2018/12/15

I get the below issues sofar:

#### based on /reg-tests/connection/b00000.vtc
Takes 8 seconds to pass, in a slightly modified manor 1.1 > 2.0 expectation
for syslog. This surely needs a closer look?
#    top  TEST ./htx-test/connection-b00000.vtc passed (8.490)
It looks exactly like another issue we've found when a content-length
is missing but the close is not seen, which is the same in your case
with the first proxy returning the 503 error page by default. Christopher
told me he understands what's happening in this situation (at least for
the one we've met), I'm CCing him in case this report fuels this thoughts.
Ok thanks.

#### based on /reg-tests/stick-table/b00001.vtc
Difference here is the use=1 vs use=0 , maybe that is better, but then the
'old' expectation seems wrong, and the bug is the case without htx?

**** h1    0.0 CLI recv|0x8026612c0: key=127.0.0.1 use=1 exp=0 gpt0=0 gpc0=0
gpc0_rate(10000)=0 conn_rate(10000)=1 http_req_cnt=1 http_req_rate(10000)=1
http_err_cnt=0 http_err_rate(10000)=0
**** h1    0.0 CLI recv|
---- h1    0.0 CLI expect failed ~ "table: http1, type: ip, size:1024,
used:(0|1\n0x[0-9a-f]*: key=127\.0\.0\.1 use=0 exp=[0-9]* gpt0=0 gpc0=0
gpc0_rate\(10000\)=0 conn_rate\(10000\)=1 http_req_cnt=1
http_req_rate\(10000\)=1 http_err_cnt=0 http_err_rate\(10000\)=0)\n$"
Hmmm here I think we're really hitting corner cases depending on whether
the tracked counters are released before or after the logs are emitted.
In the case of htx, the logs are emitted slightly later than before,
which may induce this. Quite honestly I'd be inclined to set use=[01]
here in the regex to cover the race condition that exists in both cases,
as there isn't any single good value. Christopher, are you also OK with
this ? I can do the patch if you're OK.
Its not about emitting logs, its querying the stats admin socket, and even with a added 'delay 2' before doing so the results seem to show the same difference with/without htx. I don't think its a matter of 'timing' .?

Regards,

PiBa-NL (Pieter)

**   c1    0.0 === expect resp.status == 503
**** c1    0.0 EXPECT resp.status (503) == "503" match
***  c1    0.0 closing fd 7
**   c1    0.0 Ending
**   top   0.0 === delay 2
***  top   0.0 delaying 2 second(s)
**   top   2.1 === haproxy h1 -cli {
**   h1    2.1 CLI starting
**   h1    2.1 CLI waiting
***  h1    2.1 CLI connected fd 7 from ::1 26202 to ::1 26153
**   h1    2.1 === send "show table http1"
**** h1    2.1 CLI send|show table http1
**   h1    2.1 === expect ~ "table: http1, type: ip, size:1024, used:(0|1\\n0x[... ***  h1    2.1 debug|00000001:GLOBAL.accept(0005)=000b from [::1:26202] ALPN=<none>
**** h1    2.1 CLI connection normally closed
***  h1    2.1 CLI closing fd 7
***  h1    2.1 debug|00000001:GLOBAL.srvcls[adfd:ffffffff]
***  h1    2.1 debug|00000001:GLOBAL.clicls[adfd:ffffffff]
***  h1    2.1 debug|00000001:GLOBAL.closed[adfd:ffffffff]
**** h1    2.1 CLI recv|# table: http1, type: ip, size:1024, used:1
**** h1    2.1 CLI recv|0x8026612c0: key=127.0.0.1 use=1 exp=0 gpt0=0 gpc0=0 gpc0_rate(10000)=0 conn_rate(10000)=1 http_req_cnt=1 http_req_rate(10000)=1 http_err_cnt=0 http_err_rate(10000)=0
**** h1    2.1 CLI recv|
---- h1    2.1 CLI expect failed ~ "table: http1, type: ip, size:1024, used:(0|1\n0x[0-9a-f]*: key=127\.0\.0\.1 use=0 exp=[0-9]* gpt0=0 gpc0=0 gpc0_rate\(10000\)=0 conn_rate\(10000\)=1 http_req_cnt=1 http_req_rate\(10000\)=1 http_err_cnt=0 http_err_rate\(10000\)=0)\n$"


Reply via email to