Le 20/09/2023 à 22:14, Valters Jansons a écrit :
On Mon, Sep 18, 2023 at 9:32 AM Christopher Faulet <[email protected]> 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 delivered to the client!
However, I want to bring attention that HAProxy consistently reports
connection state as SD-- (the TCP session was unexpectedly aborted by
the server, or the server explicitly refused it, in the DATA phase).
To me it sounds a bit confusing, as the server doesn't do anything
"unexpected" but HAProxy believes it did. Is this something that you
have ideas about, or if that's something that gets dealt with in a
separate patch?


Hi,

Just a little update. I pushed some fixes on the H2 multiplexer. One of them may
help to avoid false "SD--" reports in logs:

commit d9eb6d6680c4baccaced3668f8b0c7fc19246fd1 (HEAD -> master, 
haproxy.org/master)
Author: Christopher Faulet <[email protected]>
Date:   Mon Dec 18 18:24:49 2023 +0100

    BUG/MEDIUM: mux-h2: Don't report error on SE for closed H2 streams
An error on the H2 connection was always reported as an error to the
    stream-endpoint descriptor, independently on the H2 stream state. But it is
    a bug to do so for closed streams. And indeed, it leads to report "SD--"
    termination state for some streams while the response was fully received and
    forwarded to the client, at least for the backend side point of view.
Now, errors are no longer reported for H2 streams in closed state.

For now, It is only in 3.0-DEV. It will be backported to 2.9 later, waiting to
be sure there is no regression, but not further.

Regards,
--
Christopher Faulet


Reply via email to