-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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
src: add async context frame to AsyncResource #54879
Conversation
Add member to hold the async context frame to AsyncResource to avoid the need for the async_resource_context_frames_ map in env. Semver major because it changes ABI.
fyi @Qard If you think it's too early to add this semver major change in the async context frame area let me know. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #54879 +/- ##
==========================================
- Coverage 87.89% 87.89% -0.01%
==========================================
Files 651 651
Lines 183363 183348 -15
Branches 35710 35714 +4
==========================================
- Hits 161170 161154 -16
- Misses 15464 15468 +4
+ Partials 6729 6726 -3
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally LGTM, but I would like to wait until we can have some time to verify correctness of the AsyncContextFrame behaviour with customer testing before we commit any major ABI changes. Particularly we should be careful about this because of the feature being flag switched with the prior design.
Do you expect this testing before 23 release? |
Unlikely. This will exist behind a flag for a while yet. I'm mainly concerned about if we impact the unflagged behaviour negatively while this is still being evaluated. Also, the flag would not be going away at any point, it just may swap its default as Electron also depends on ContinuationPreservedEmbedderData so they would need a way to opt out. For this reason we will need to be sure we don't break the original behaviour. |
Well, the impact is there before and after this PR as If target is to avoid side effects/overhead we like should add some more I do not see the ABI change itself as critical as new majors have a ABI changes anyway. API is not changed. But well, maybe delay this tuning till the next LTS. I don't expect a significant impact anyway. |
I won't block if we feel we want to land sooner. I just wanted to be sure we aren't making ABI changes if they are unwanted. If there are other ABI changes happening anyway then probably fine to just land this. |
Every major has a different ABI simply because of v8 changes. My question to delay was more towards backporting/improving. Any difference between 23 and older could complicate this. I think it's better to wait at least till 24 to avoid complications. So closing this for now. |
Add member to hold the async context frame to AsyncResource to avoid the need for the async_resource_context_frames_ map in env.
Semver major because it changes ABI.