Le 08/02/2021 à 15:03, Christian Ruppert a écrit :
On 2021-02-08 14:46, Christopher Faulet wrote:
Le 08/02/2021 à 14:31, Christian Ruppert a écrit :
Hi list, Christopher,

we're having issues with the mentioned commit / patch:
d13afbcce5e664f9cfe797eee8c527e5fa947f1b
https://git.haproxy.org/?p=haproxy-2.2.git;a=commit;h=d13afbcce5e664f9cfe797eee8c527e5fa947f1b

I can also reproduce it with 2.2.9 as well as 2.3.5. I don't have any
useful details yet, just the our Jira fails to load.
A curl against the site seams to work fine while browser requests
(chrome / firefox) seem to timeout or at least some.

See the attached log. The first 3 requests seem to be fine so far.
Then,
much later, there's a 504 between more 200s.
I'm not sure yet why the other 200s there seem to wait / are logged
after the actual timeout happens. According to chrome's F12 there are
more requests still pending.
Ignore the 503 there. That seems to be an unrelated problem, since
this
also happends with a working HAProxy.

Much later, the site loaded, sometimes broken though.

I'll try to prepare a config snipped if required.

Is there anything know already?


Thanks Christian,  I'll take a look. Could you confirm or inform it
happens only with requests with a "Connection: upgrade" header ?

This frontend doesn't have H2 enabled explicit. I'm not really sure but
it looks like some of those delayed requests don't have the upgrade
header.


It is not related to the H2. The mentioned commit is about HTTP/1.1 protocol
upgrades, like WebsScket. But if some requests are delayed without any
"connection: upgrade" header, it is a bit strange.

If it is easily reproducible, it may be useful to enable the H1 mux traces.
To enable it, just use the following commands on the CLI socket :

echo "trace h1 sink buf0; trace h1 level developer; trace h1 verbosity complete; 
trace h1 start now" | socat - /path/to/cli-socket

This will capture detailed info on the H1 mux internals. Then you can later
check for captured events using "show events buf0". If you want to collect
them as they are logged, and archive them, you can use the following command :

(echo "show events buf0 -w -n" ; cat ) | socat - /path/to/cli-socket > file.log

If you do so, please send me privately the generated log file. In the mean
time, the config may help.

Thanks,
--
Christopher Faulet

Reply via email to