Skip to content

nouveau: use http/2 #5598

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 17, 2025
Merged

nouveau: use http/2 #5598

merged 1 commit into from
Jul 17, 2025

Conversation

rnewson
Copy link
Member

@rnewson rnewson commented Jul 15, 2025

we lose the pipelining benefit for indexing as http/2 does not support it (and we need the requests that update the index to happen in the order we issue them).

@rnewson rnewson force-pushed the nouveau-gun-http2 branch from 61c03f9 to 92bd607 Compare July 15, 2025 14:40
@rnewson
Copy link
Member Author

rnewson commented Jul 15, 2025

had to eliminate the 204 responses due to ninenines/cowlib#140 so instead of no resp body I send {"ok": true} in the usual couchdb style.

@rnewson rnewson force-pushed the nouveau-gun-http2 branch from 92bd607 to 8284c7c Compare July 15, 2025 14:43
@rnewson
Copy link
Member Author

rnewson commented Jul 15, 2025

should address the issue in #5597 also.

with http/2 each couchdb node has one tcp connection to the nouveau server and multiplexes index update and search requests in it.

@rnewson rnewson force-pushed the nouveau-gun-http2 branch 3 times, most recently from 37883dc to d58ea64 Compare July 16, 2025 14:50
@@ -158,6 +158,8 @@ DepDescs = [
{fauxton, {url, "https://github.com/apache/couchdb-fauxton"},
{tag, "v1.3.4"}, [raw]},
{ibrowse, "ibrowse", {tag, "CouchDB-4.4.2-6"}},
{gun, {url, "https://github.com/ninenines/gun"},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'd probably want to mirror the dependency I think those are the ASF rules. For some repos like proper we don't do it because they are not part of the final release.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Contributor

@nickva nickva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 if CI passes

This is quite nice. Maybe if gun gets it's foot in the door this way we can start using for the replicator. I saw the author started work on http/3 even.

Just see a note about maybe having to mirror repo in apache org.

@rnewson rnewson force-pushed the nouveau-gun-http2 branch 2 times, most recently from 273a353 to 0c7f7e5 Compare July 16, 2025 21:43
configure Outdated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don’t forget to update configure.ps1 too.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done but no way to validate

@rnewson rnewson force-pushed the nouveau-gun-http2 branch from 0c7f7e5 to cc98567 Compare July 17, 2025 12:11
we lose the pipelining benefit for indexing as http/2 does not
support it but we benefit from far fewer connections between couchdb
and nouveau server.
@rnewson rnewson force-pushed the nouveau-gun-http2 branch from cc98567 to 2578b55 Compare July 17, 2025 13:05
@rnewson rnewson merged commit 94a77be into main Jul 17, 2025
23 checks passed
@rnewson rnewson deleted the nouveau-gun-http2 branch July 17, 2025 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants