Hi Pieter,

On Mon, Nov 19, 2018 at 01:07:44AM +0100, PiBa-NL wrote:
> Hi List,
> 
> I'm trying (and failing?) to write a H2>HTX>H1(keepalive) test.
> 
> Using haproxy 1.9-dev6-05b9b64.
> 
> Test vtc attached, i added the 'option http-use-htx' to the fe4
> frontend/backend.
> Is there anything else that should be changed?

For HTX, you need dev7.

> Or is my way of making the H2 request incorrect? Though the 3 tests before
> it 'seem' to work alright.

I've never tested varnishtest on h2 yet, I don't know precisely how
it's supposed to be configured, nor what minimum version is required
for this. From an haproxy perspective, your config looks OK.

By the way, in my opinion you should remove "option http-keep-alive"
since it's the default, and I think the config would be more readable
by replacing the "frontend"+"backend" couples with a single "listen"
for each.

> Below the output i get, with a unexpected '500' status, and with a IC-- on
> the logline... It also seems it never contacted the s4 server.

Indeed, it faced an internal while trying to make the connection.
What I think happened is that H2 decoded the request (and logged it),
but the upper layer stream failed to do anything from it since it's
configured with HTX and HTX is not supported in your version. Please
note that even with dev7 you don't have H2 over HTX yet. You
definitely need to update to dev7 to eliminate a number of candidate
bugs.

> Without the htx option it does make 1 request to the s4, and the second
> expected request tries to make a second connection. (the 'old' way..)

Without the latest changes from dev7 it's expecetd since by default,
server-side keep-alive is lost when H2 is used on the frontend (the
connection used to be tied to the stream, so since you have a distinct
stream for each request, you used to lose the connection). In dev7 the
server-side idle connection moved to the session which is attached to
the front connection so the keep-alive will still work.

Hoping this helps,
Willy

Reply via email to