feat(NODE-5639): keep executing context on queued commands #3871
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.
Description
Implementation for https://jira.mongodb.org/browse/NODE-5639
Make use of AsyncResource.bind API to bind the current execution context of
WaitQueueMember
callback.The change proposed will make callbacks to have the same context they where created. Useful if the consumer of the package is using AsyncLocalStorage to keep state.
One use case is APM agents. They make use of these APIs to keep context between callbacks and async calls.
What is changing?
Bind the current execution context to
WaitQueueMember
callback property.Is there new documentation needed for these changes?
No
What is the motivation for this change?
Get span hierarchy right when
mongodb
driver is instrumented by an APM agent like Opentelemetry, Elastic, DataDog...Release Highlight
Fill in title or leave empty for no highlight
Double check the following
npm run check:lint
scripttype(NODE-xxxx)[!]: description
feat(NODE-1234)!: rewriting everything in coffeescript