Skip to content

quic: write desired size needs update on maxstream - #64768

Open
martenrichter wants to merge 2 commits into
nodejs:mainfrom
martenrichter:writedesired
Open

quic: write desired size needs update on maxstream#64768
martenrichter wants to merge 2 commits into
nodejs:mainfrom
martenrichter:writedesired

Conversation

@martenrichter

Copy link
Copy Markdown
Contributor

Without this update the streams can stall, if the chunks are close or bigger than the window size.
It was provoked by a very special timing, so probably hard to test,
Though I do not know, if this is also required for max data of the whole session.
Upstream says no:
ngtcp2/ngtcp2#2243

Without this update the streams can stall, if the
chunks are close or bigger than the window size.

Signed-off-by: Marten Richter <marten.richter@freenet.de>
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/quic

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. quic Issues and PRs related to the QUIC implementation / HTTP/3. labels Jul 26, 2026
@martenrichter

Copy link
Copy Markdown
Contributor Author

@jasnell @pimterry can you have a look?

@avivkeller

Copy link
Copy Markdown
Member

Can you add a test?

@codecov

codecov Bot commented Jul 26, 2026

Copy link
Copy Markdown

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 90.13%. Comparing base (9024119) to head (cffb9bc).
⚠️ Report is 14 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #64768      +/-   ##
==========================================
- Coverage   90.15%   90.13%   -0.02%     
==========================================
  Files         743      744       +1     
  Lines      242407   242518     +111     
  Branches    45645    45700      +55     
==========================================
+ Hits       218532   218591      +59     
- Misses      15357    15434      +77     
+ Partials     8518     8493      -25     

see 40 files with indirect coverage changes

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • πŸ“¦ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@martenrichter

Copy link
Copy Markdown
Contributor Author

Can you add a test?

Not really. I found it in my webtransport test suite. But there it happens only, if I use node.js server and client. If I choose a Quiche client and a Node.js server, or a Node.js client and a Quiche server, it does not surface, as it depends on the particular packet size the particular Quic internals are generating at the low level. But I will later port all of my wt tests over, but therefore wt must be ready. (But this must not mean that these would reliably trigger the issue).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. quic Issues and PRs related to the QUIC implementation / HTTP/3.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants