fs: improve error perf of sync chmod+fchmod#49859
fs: improve error perf of sync chmod+fchmod#49859CanadaHonk wants to merge 2 commits intonodejs:mainfrom
chmod+fchmod#49859Conversation
38b5870 to
b4f8c51
Compare
|
@nodejs/fs @nodejs/cpp-reviewers |
|
@CanadaHonk can you resolve the conflicts? |
RaisinTen
left a comment
There was a problem hiding this comment.
LGTM but merge commits aren't supported by our tooling. Could you please rebase instead?
I think it's fine with commit-queue-squash? |
This comment was marked as outdated.
This comment was marked as outdated.
|
The problem is that the Jenkins CI will fail because of the merge commit as it does right now |
5a527d5 to
852738f
Compare
|
Yep sorry, should be good now. |
|
My point is that we do not need to copy & repeat code from the original implementation for the improvement. The improvement comes from essentially very simple changes - instead of using the |
Qard
left a comment
There was a problem hiding this comment.
I'm with Joyee in thinking the duplication is not great. Can we break out the common parts to another help, maybe? Or maybe we could make an alternate SyncCall(...) that does the direct throw rather than doing the ctx thing?
I'd really like to see us unifying how we're doing our libuv calls, especially to enable implementing native promise versions of things in the future rather than going through callbacks. We get a lot of benefits from using native promises rather than wrapping callback code, like async_hooks becomes unnecessary as PromiseHook already catches the barrier correctly, and we can get async stack traces out of it too.
|
#49913 has landed. Can you move the JS code back to |
|
Landed in 6bd77db...d398529 |
PR-URL: #49859 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #49859 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
It appears that this was manually landed despite a failing Jenkins CI. Was that intentional? |
Yes, because the failing test was fixed in main branch. It was caused by test runner concurrency cli flag. |
|
For what it's worth, I had a feeling that this PR and #49864 had been merged without passing CI, but I couldn't verify at the time because CI was locked down for security releases. To be clear, manually merging PRs without a passing CI run is not acceptable for any collaborator. There may be rare exceptions with explicit TSC/releasers approval, but that is definitely not the case here. This is a clear violation of the collaborator guidelines, and silently doing so without even leaving an explaining comment only makes it worse. |
PR-URL: nodejs#49859 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: nodejs#49859 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #49859 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #49859 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Results from i7 Windows laptop:
Ref: nodejs/performance#106