Hi again, On Wed, Jan 30, 2019 at 07:43:06PM +0100, Willy Tarreau wrote: > It was indeed caused by late frames triggering GOAWAY, while we were > missing some info to determine if the frame was violating the protocol > or just a late response.
I found another cause of GOAWAY that appeared in 2012 in 1.5-dev13! Some streams can occasionally be closed early depending on some backend-side failures in keep-alive, and with H2 on the frontend that resulted in the interpretation that this close was an attempt to close the whole connection. Now after all todays fixes, I can chain several haproxy in H2-to-H2 and the last one in H2-to-H1, launch a million requests at them, and not face any error at all. The updated code currently runs on haproxy.org. Tomorrow I'll spend some time backporting this to 1.9 and to 1.8 for some of them as well. Regards, Willy