fs: make sure to write entire buffer#49211
Closed
atlowChemi wants to merge 0 commit into
Closed
Conversation
benjamingr
approved these changes
Aug 17, 2023
anonrig
reviewed
Aug 17, 2023
Collaborator
Member
Author
|
ronag
reviewed
Aug 21, 2023
Member
ronag
left a comment
There was a problem hiding this comment.
Existing tests pass and it's quite tricky make tests for this. You probably need to pass a custom "fs" implementation into the stream which will return EAGAIN.
ronag
reviewed
Aug 22, 2023
Collaborator
Collaborator
27 tasks
Collaborator
Collaborator
ronag
reviewed
Aug 23, 2023
2c9b7e0 to
20d51d2
Compare
ronag
approved these changes
Aug 23, 2023
Collaborator
Collaborator
Collaborator
27 tasks
atlowChemi
added a commit
to atlowChemi/node
that referenced
this pull request
Aug 24, 2023
fs.write(v) is not guaranteed to write everything in a single call. Make sure we don't assume so. PR-URL: nodejs#49211 Co-authored-by: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
Member
Author
|
Landed in feb5b0f |
This was referenced Aug 25, 2023
UlisesGascon
pushed a commit
that referenced
this pull request
Sep 10, 2023
fs.write(v) is not guaranteed to write everything in a single call. Make sure we don't assume so. PR-URL: #49211 Co-authored-by: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
Merged
richardlau
pushed a commit
that referenced
this pull request
Sep 28, 2023
fs.write(v) is not guaranteed to write everything in a single call. Make sure we don't assume so. PR-URL: #49211 Co-authored-by: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
alexfernandez
pushed a commit
to alexfernandez/node
that referenced
this pull request
Nov 1, 2023
fs.write(v) is not guaranteed to write everything in a single call. Make sure we don't assume so. PR-URL: nodejs#49211 Co-authored-by: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com>
kriscendobot
pushed a commit
to endojs/endo-but-for-bots
that referenced
this pull request
May 18, 2026
…#280) The 2ec645b commit ("chore(ci): drop Node.js 20 from the test matrix") dropped the `test-async-hooks` matrix's `'20'` entry alongside the four-line comment block that documented which Node-20 patch versions were SES-viable. Per kriskowal's CHANGES_REQUESTED review on #280 ("Please preserve the historical record on version compatibility."), restore that commentary above the surviving `'22'` entry, framed as a historical record so future readers see the lineage rather than floating annotations. The restored block names: - '20.3' to '20.6' not viable due to nodejs/node#49211 - '20.6' not viable due to nodejs/node#49497 - '20.7' first SES-viable version of Node 20 - '20.9' first LTS of Node 20 and explicitly identifies `'22'` as the post-promise-fast-path lane on a current LTS (the SES-viable promise-hook lane the Node-20 entry was guarding), wording lifted from 2ec645b's commit body so the workflow file carries the rationale in-line.
kriskowal
added a commit
to endojs/endo
that referenced
this pull request
May 18, 2026
Node 20 enters maintenance and is winding down through its LTS lifecycle. Removing it from the CI matrix narrows the matrix to 18 (still on maintenance), 22 (active LTS), and 24 (current). The test, cover, test262, and viable-release matrices drop their '20' entries. Standalone Node-20 jobs (test-xs, test-ocapn-python, and the ocapn-guile-interop workflow) advance to 22.x rather than being removed. The test-async-hooks matrix's '20' entry advances to '22' (the post-promise-fast-path lane on a current LTS, the SES-viable promise-hook lane the Node-20 entry was guarding). The `test-xs (macos-15)` lane on Node 20 was filed as flaky. A historical record of which Node-20 patch versions were SES-viable is preserved as commentary above the surviving '22' entry in the test-async-hooks matrix, so future readers see the lineage rather than floating annotations: - '20.3' to '20.6' not viable due to nodejs/node#49211 - '20.6' not viable due to nodejs/node#49497 - '20.7' first SES-viable version of Node 20 - '20.9' first LTS of Node 20
turadg
pushed a commit
to endojs/endo
that referenced
this pull request
May 20, 2026
Node 20 enters maintenance and is winding down through its LTS lifecycle. Removing it from the CI matrix narrows the matrix to 18 (still on maintenance), 22 (active LTS), and 24 (current). The test, cover, test262, and viable-release matrices drop their '20' entries. Standalone Node-20 jobs (test-xs, test-ocapn-python, and the ocapn-guile-interop workflow) advance to 22.x rather than being removed. The test-async-hooks matrix's '20' entry advances to '22' (the post-promise-fast-path lane on a current LTS, the SES-viable promise-hook lane the Node-20 entry was guarding). The `test-xs (macos-15)` lane on Node 20 was filed as flaky. A historical record of which Node-20 patch versions were SES-viable is preserved as commentary above the surviving '22' entry in the test-async-hooks matrix, so future readers see the lineage rather than floating annotations: - '20.3' to '20.6' not viable due to nodejs/node#49211 - '20.6' not viable due to nodejs/node#49497 - '20.7' first SES-viable version of Node 20 - '20.9' first LTS of Node 20
turadg
pushed a commit
to endojs/endo
that referenced
this pull request
May 20, 2026
Node 20 enters maintenance and is winding down through its LTS lifecycle. Removing it from the CI matrix narrows the matrix to 18 (still on maintenance), 22 (active LTS), and 24 (current). The test, cover, test262, and viable-release matrices drop their '20' entries. Standalone Node-20 jobs (test-xs, test-ocapn-python, and the ocapn-guile-interop workflow) advance to 22.x rather than being removed. The test-async-hooks matrix's '20' entry advances to '22' (the post-promise-fast-path lane on a current LTS, the SES-viable promise-hook lane the Node-20 entry was guarding). The `test-xs (macos-15)` lane on Node 20 was filed as flaky. A historical record of which Node-20 patch versions were SES-viable is preserved as commentary above the surviving '22' entry in the test-async-hooks matrix, so future readers see the lineage rather than floating annotations: - '20.3' to '20.6' not viable due to nodejs/node#49211 - '20.6' not viable due to nodejs/node#49497 - '20.7' first SES-viable version of Node 20 - '20.9' first LTS of Node 20
turadg
pushed a commit
to endojs/endo
that referenced
this pull request
May 20, 2026
Node 20 enters maintenance and is winding down through its LTS lifecycle. Removing it from the CI matrix narrows the matrix to 18 (still on maintenance), 22 (active LTS), and 24 (current). The test, cover, test262, and viable-release matrices drop their '20' entries. Standalone Node-20 jobs (test-xs, test-ocapn-python, and the ocapn-guile-interop workflow) advance to 22.x rather than being removed. The test-async-hooks matrix's '20' entry advances to '22' (the post-promise-fast-path lane on a current LTS, the SES-viable promise-hook lane the Node-20 entry was guarding). The `test-xs (macos-15)` lane on Node 20 was filed as flaky. A historical record of which Node-20 patch versions were SES-viable is preserved as commentary above the surviving '22' entry in the test-async-hooks matrix, so future readers see the lineage rather than floating annotations: - '20.3' to '20.6' not viable due to nodejs/node#49211 - '20.6' not viable due to nodejs/node#49497 - '20.7' first SES-viable version of Node 20 - '20.9' first LTS of Node 20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fs.write(v) is not guaranteed to write everything in a single
call. Make sure we don't assume so.
Refs: #42434 (comment)