Introduce a plugin API to provide all thread local state, and deprecate stdio-specific methods (Cherry-pick of #15890) #15916
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.
As described in #15887:
StreamingWorkunit
plugins have never been able to set thread-localWorkunitStore
state, but that apparently didn't matter until #11331 made it possible for theStreamingWorkunitContext
file-fetching methods to encounter data which had not yet been fetched (and thus needed to create a workunit for the fetching).This change updates and "deprecates" the existing
stdio_thread_[gs]et_destination
methods (although it doesn't have access to a decorator to do that), and introduces generic thread-local state methods which include all thread-local state required by engine APIs.Fixes #15887.
[ci skip-build-wheels]