Refactor/eliminating traffic on root partition #6167
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.
What changed?
This prevents normal traffic (polls from workers, tasks dispatched from history) from being directly dispatched to the root partition. Both pollers and tasks dispatched by matching through async-match are expected to be the only remaining traffic on the root partition.
Why?
The root partition is a contention point under heavy load if there are too many partitions relative to the number of pollers (they all end up falling back to polling on the root partition and matching has to forward tasks to the root partition. This contention is:
The underlying justification is one of trying to make an overly complex part of the system more conceptually simple, therefore making it significantly easier to debug, diagnose issues and reason about.
If this change lands, then:
How did you test it?
Potential risks
This change reduces the number of all production partitions by 1, so this risks slightly worsening any contended tasklists
Release notes
Documentation Changes