Skip to content

Revert "buffer: move SlowBuffer to EOL" #58211

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
May 7, 2025

Conversation

panva
Copy link
Member

@panva panva commented May 7, 2025

This reverts commit 647175e.

The API in question was runtime-deprecated (#55175) and EOLd (#58008 which i'm reverting here) in the same major release. The intended cycle is that it gets runtime-deprecated as a major, and then EOLd in another later major.

Despite best efforts to detect it in the EOL PR there is breakage in the jsonwebtoken > jws > jwa dependency chain (29-30M weekly downloads on jwa).

This PR reverts to the runtime-deprecation state that was pending release with 24.0.0, EOL shouldn't have landed yet.

image

https://openjs-foundation.slack.com/archives/C019MGJQ8RH/p1746596637445769

We would re-land the EOL and ship it with a future major release after this revert.

@panva panva added dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v23.x labels May 7, 2025
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/config
  • @nodejs/performance
  • @nodejs/tsc

@nodejs-github-bot nodejs-github-bot added buffer Issues and PRs related to the buffer subsystem. c++ Issues and PRs that require attention from people who are familiar with C++. config Issues or PRs related to the config subsystem needs-ci PRs that need a full CI run. labels May 7, 2025
@nodejs-github-bot
Copy link
Collaborator

@aduh95 aduh95 added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. and removed request-ci Add this label to start a Jenkins CI on a PR. labels May 7, 2025
Copy link

codecov bot commented May 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.12%. Comparing base (b21574d) to head (e074ef1).
Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #58211      +/-   ##
==========================================
- Coverage   90.13%   90.12%   -0.02%     
==========================================
  Files         629      629              
  Lines      186628   186644      +16     
  Branches    36632    36621      -11     
==========================================
- Hits       168218   168210       -8     
+ Misses      11219    11214       -5     
- Partials     7191     7220      +29     
Files with missing lines Coverage Δ
lib/buffer.js 100.00% <100.00%> (ø)
src/node_options.cc 85.36% <ø> (ø)

... and 38 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.

@panva panva added the fast-track PRs that do not need to wait for 48 hours to land. label May 7, 2025
Copy link
Contributor

github-actions bot commented May 7, 2025

Fast-track has been requested by @panva. Please 👍 to approve.

@panva
Copy link
Member Author

panva commented May 7, 2025

Oy, sorry about the trouble. The EOL was meant to sit in main for 25 and my assumption was that since the semver-major cutoff for 24 had passed it wouldn't have been picked up, but apparently that assumption was incorrect. Let's revert the EOL in 24 but keep it in main. This revert can be treated the same as a back port commit targeting 24.x specifically could it not?

I don't see the point in re-running CI for a different base branch just so that it remains on main. By reverting and re-landing on main as semver-major again (which i plan on doing right after this lands) we will also get a proper v25.x changelog entry. The existing changelog entry also only talked about deprecation and didn't pick up the removal which is why it has slipped my radar. I knew about the deprecation but i wasn't aware of its removal at all, not until i searched the individual semver-major commits.

@jasnell
Copy link
Member

jasnell commented May 7, 2025

I don't see the point in re-running CI for a different base branch just so that it remains on main...

That's fine... but keep in mind it will need to be run on that other branch regardless since this revert will need to be backported.

  • Targeting this PR at 24.x now means no additional PRs are needed and CI would need to be run once at best assuming no flaky failures
  • Targeting this PR at main now means at least two additional PRs (one to reapply the EOL in main and one to backport the revert) with at least two additional CI runs.

@panva
Copy link
Member Author

panva commented May 7, 2025

I don't get why node-test-commit-osx is failing, it seems to have to do smth with github checks? Its actual test job is passing...

@panva
Copy link
Member Author

panva commented May 7, 2025

If I target 24 directly we'll still have to get the change to 25.x changelog somehow, and I doubt we'll remember to do so in half a year.

@nodejs-github-bot

This comment was marked as outdated.

@aduh95
Copy link
Contributor

aduh95 commented May 7, 2025

@panva please use Resume build to avoid re-running already-green jobs

@panva
Copy link
Member Author

panva commented May 7, 2025

@panva please use Resume build to avoid re-running already-green jobs

I did two times already before and because node-test-commit-osx failed each time with no indication why (other than pointing to checks API) i suspect that's because there were duplicate jobs started (or resumed) by someone as the ones I resumed were already running.

@aduh95
Copy link
Contributor

aduh95 commented May 7, 2025

node-test-commit-osx failed each time with no indication why

You can see it in the logs:

Build timed out (after 60 minutes). Marking the build as failed.
Build was aborted

Re-running the other jobs is not going to help, I'd be very surprised it has anything to do with duplicated jobs (or that not resuming would even help if duplicate jobs were an issue).

@panva
Copy link
Member Author

panva commented May 7, 2025

node-test-commit-osx failed each time with no indication why

You can see it in the logs:

Build timed out (after 60 minutes). Marking the build as failed.
Build was aborted

Re-running the other jobs is not going to help, I'd be very surprised it has anything to do with duplicated jobs (or that not resuming would even help if duplicate jobs were an issue).

https://ci.nodejs.org/job/node-test-commit-osx/64970/nodes=osx13-x64/console

14:48:49 All tests passed.
...
15:48:53 Build timed out (after 60 minutes). Marking the build as failed.
15:48:53 Build was aborted
...
15:49:03 POST BUILD TASK : SUCCESS
...
15:49:03 Recording test results
15:49:07 [Checks API] No suitable checks publisher found.
15:49:07 Collecting metadata...
15:49:07 Metadata collection done.
15:49:07 [Checks API] No suitable checks publisher found.
15:49:07 Notifying upstream projects of job completion
15:49:07 Finished: FAILURE

@aduh95

This comment was marked as duplicate.

@richardlau
Copy link
Member

node-test-commit-osx failed each time with no indication why

You can see it in the logs:

Build timed out (after 60 minutes). Marking the build as failed.
Build was aborted

Re-running the other jobs is not going to help, I'd be very surprised it has anything to do with duplicated jobs (or that not resuming would even help if duplicate jobs were an issue).

https://ci.nodejs.org/job/node-test-commit-osx/64970/nodes=osx13-x64/console

14:48:49 All tests passed.
...
15:48:53 Build timed out (after 60 minutes). Marking the build as failed.
15:48:53 Build was aborted
...
15:49:03 POST BUILD TASK : SUCCESS
...
15:49:03 Recording test results
15:49:07 [Checks API] No suitable checks publisher found.
15:49:07 Collecting metadata...
15:49:07 Metadata collection done.
15:49:07 [Checks API] No suitable checks publisher found.
15:49:07 Notifying upstream projects of job completion
15:49:07 Finished: FAILURE

FWIW I think this macOS failure is nodejs/build#4072 where it's taking a very long time to correct file ownership on the ccache files post-build.

@panva
Copy link
Member Author

panva commented May 7, 2025

@richardlau yeah, it's stuck on that step again now.

@nodejs-github-bot
Copy link
Collaborator

@jasnell jasnell added the backport-requested-v24.x PRs awaiting manual backport to the v24.x-staging branch. label May 7, 2025
@nodejs-github-bot
Copy link
Collaborator

@aduh95 aduh95 removed the backport-requested-v24.x PRs awaiting manual backport to the v24.x-staging branch. label May 7, 2025
@panva panva added the commit-queue Add this label to land a pull request using GitHub Actions. label May 7, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label May 7, 2025
@nodejs-github-bot nodejs-github-bot merged commit da69d13 into nodejs:main May 7, 2025
105 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in da69d13

@panva panva deleted the revert-58008 branch May 7, 2025 19:31
@jpike88
Copy link

jpike88 commented May 8, 2025

any intention on getting a patch release out there for this? it's broken pretty much everything we use, now we need to roll back to 23.

aduh95 pushed a commit that referenced this pull request May 8, 2025
This reverts commit 0579e0e

PR-URL: #58211
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@aduh95 aduh95 added the notable-change PRs with changes that should be highlighted in changelogs. label May 8, 2025
Copy link
Contributor

github-actions bot commented May 8, 2025

The notable-change PRs with changes that should be highlighted in changelogs. label has been added by @aduh95.

Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section.

nodejs-github-bot added a commit that referenced this pull request May 8, 2025
Notable changes:

buffer:
  * Revert "buffer: move SlowBuffer to EOL (Filip Skokan) #58211

PR-URL: #58226
aduh95 pushed a commit that referenced this pull request May 8, 2025
Notable changes:

buffer:
  * Revert "buffer: move SlowBuffer to EOL (Filip Skokan) #58211

PR-URL: #58226
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. buffer Issues and PRs related to the buffer subsystem. c++ Issues and PRs that require attention from people who are familiar with C++. config Issues or PRs related to the config subsystem dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. fast-track PRs that do not need to wait for 48 hours to land. needs-ci PRs that need a full CI run. notable-change PRs with changes that should be highlighted in changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.