Hi Robert,

On Tue, Jun 27, 2023 at 01:19:20PM +0100, Robert Newson wrote:
> Hi,
> 
> i'm happy to confirm the two patches combined address the symptom I reported
> at the start of the thread. I applied them to haproxy.git master after
> confirming that the problem occurred there for a realistic setup (couchdb
> with HAProxy in front configured to do compression).

Excellent, thanks! I'll merge them both to the libslz project and to
haproxy.

> The CouchDB project are considering adding a WebSocket option for this
> endpoint in light of the re-realisation that we've been living in HTTP sin
> this whole time.

Yes that would be nice indeed! I don't know if you could benefit from
this, but in addition with websocket you'd get fully interactive and
bidirectional communication, which may allow the client to send extra
requests or interrupt the processing etc. Also WS will work both over
HTTP/1 and HTTP/2 and might permit to coalesce multiple connections
into a single one with multiple streams if there's any benefit in doing
this.

> Your patches are most welcome as they mean users can keep doing what they've
> always been doing and can upgrade HAProxy without having to make any change.

Yeah, I'll ensure we can backport them so that it continues to work
transparently. Please just remind your users that they should be using
"option http-no-delay" for what they're doing. It's very possible it
will improve latency for them even on older versions, and may avoid
similar issues in the future.

> In the long term CouchDB will work towards providing an alternative method
> that doesn't depend on the timely delivery of partial messages.
> 
> Thank you again for your efforts, it is very much appreciated.

You're welcome. It's always a pleasure to be able to improve the code
base to cover some real-world limitations, especially when this grants
more time to address these limitations cleanly for the long term. It's
always better than stacking ugly emergency workarounds :-)

Cheers,
Willy

Reply via email to