Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-12-18 Thread Christopher Faulet
Le 20/09/2023 à 22:14, Valters Jansons a écrit : On Mon, Sep 18, 2023 at 9:32 AM Christopher Faulet wrote: Please find a new patch. It should be good ( or better at least :) The provided patch resolves my scenario for both the gRPC server-client as well as the Java client to nginx server.

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-21 Thread Christopher Faulet
Le 20/09/2023 à 22:14, Valters Jansons a écrit : On Mon, Sep 18, 2023 at 9:32 AM Christopher Faulet wrote: Please find a new patch. It should be good ( or better at least :) The provided patch resolves my scenario for both the gRPC server-client as well as the Java client to nginx server.

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-20 Thread Valters Jansons
On Mon, Sep 18, 2023 at 9:32 AM Christopher Faulet wrote: > Please find a new patch. It should be good ( or better at least :) The provided patch resolves my scenario for both the gRPC server-client as well as the Java client to nginx server. There is an improvement for sure, and HTTP 200 OK is

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-18 Thread Christopher Faulet
Le 16/09/2023 à 16:00, Valters Jansons a écrit : On Thu, Sep 14, 2023 at 12:35 PM Christopher Faulet wrote: After a discussion with Willy, we've hopefully found a way to fix the issue by delaying detection of the server abort on the request processing side when there is a response to forward

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-17 Thread Илья Шипицин
Yes, that e2e is probably not going to do nasty things. But it worth a try On Sun, Sep 17, 2023, 03:26 Valters Jansons wrote: > On Sat, Sep 16, 2023 at 10:02 PM Илья Шипицин > wrote: > > I wonder if there're gRPC test tests similar to h2spec (I couldn't findI > am them) > > I am not aware of

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-16 Thread Willy Tarreau
Hi Valters, On Sun, Sep 17, 2023 at 04:25:48AM +0300, Valters Jansons wrote: > But, gRPC is essentially a framework (binary encoding and custom > headers) for object-oriented HTTP/2. My observed issue is an HTTP/2 > processing issue by HAProxy, when the frontend client doesn't send an >

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-16 Thread Valters Jansons
On Sat, Sep 16, 2023 at 10:02 PM Илья Шипицин wrote: > I wonder if there're gRPC test tests similar to h2spec (I couldn't findI am > them) I am not aware of a single binary that could be used as a gRPC test for proxies. The closest thing that I can think of is examples from official gRPC

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-16 Thread Valters Jansons
On Thu, Sep 14, 2023 at 12:35 PM Christopher Faulet wrote: > After a discussion with Willy, we've hopefully found a way to fix the issue by > delaying detection of the server abort on the request processing side when > there > is a response to forward to the client. It should do the trick in

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-14 Thread Christopher Faulet
Le 14/09/2023 à 01:36, Valters Jansons a écrit : I set up a small PoC repository at https://github.com/sigv/grpcopen with a server and a client. There is a Ping endpoint, which works fine (the frontend client is first to close). There is also a Foobar endpoint, which is intentionally mangled, to

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-13 Thread Valters Jansons
Hi Willy, On Wed, Sep 13, 2023 at 3:25 PM Willy Tarreau wrote: > > However, if the request on frontend does not have END_STREAM, then the > > backend also stays open. > > Till now this is expected since the client is expected to upload the > message's body, so a timeout might fire on the

Re: mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-13 Thread Willy Tarreau
Hi Valters, On Wed, Sep 13, 2023 at 05:34:22AM +0300, Valters Jansons wrote: > Hello, > > I was previously investigating a strange gRPC streaming issue, that > appears to be a fairly straight forward issue with how open streams > get half-closed. (...) thanks a lot for all your investigation. I

mux-h2: Backend stream is not fully closed if frontend keeps stream open

2023-09-12 Thread Valters Jansons
Hello, I was previously investigating a strange gRPC streaming issue, that appears to be a fairly straight forward issue with how open streams get half-closed. In a nice situation, a frontend request comes in and has END_STREAM marked. The frontend becomes half-closed by the remote side. In