[release/9.0-staging] Transfer ThreadPool local queue to high-pri queue on Task blocking #109989
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.
Backport of #109841 to release/9.0-staging
/cc @stephentoub
Customer Impact
This is an experimental fix related #103984. Some 1p services that use a lot of sync-over-async are experiencing stalls due to some priority inversion issues in work items that get queued to the thread pool. In some situations, the services stall for a long time until a large number of worker threads are injected, which can take a long time. This change would help the app continue to make progress. This change (in addition addition to some app-level throttling to stop new items from being added to the request queue) should help with unblocking.
Regression
[If yes, specify when the regression was introduced. Provide the PR or commit if known.]
Testing
n/a. This is experimental to validate in production with the config set.
Risk
Low, the feature is behind a config flag