-
Notifications
You must be signed in to change notification settings - Fork 544
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
querier: set minimum concurrency to 4 for query-scheduler's new querier-worker queue prioritization #9054
querier: set minimum concurrency to 4 for query-scheduler's new querier-worker queue prioritization #9054
Conversation
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.
Looks good! Thanks!
oh no that damn suggestion thing created a merge commit |
7667a58
to
b1773af
Compare
…er-worker queue prioritization
Co-authored-by: Taylor C <[email protected]>
Co-authored-by: Taylor C <[email protected]>
b1773af
to
4aac9c1
Compare
Yeah, I never actually use the suggestion thing (or do any code changes like resolve merge conflicts in-browser) for this reason, I just copy the suggested changes into my branch. I'm not sure if there's a better way, but I haven't found it. |
Docstring for constant should be a sufficient description, but will expand a bit here:
When we move to a new RequestQueue dequeuing algorithm, we will modulo querier-worker IDs to distribute them across 4 request queue dimensions, one each for the "expected query component" which is assigned to the query request: ingester, store-gateway, both, or unknown.
Having querier-worker connections < num queue dimensions will result in queue starvation unless not all 4 queue dimensions are active. In any minimally utilized cluster, we expect all 4 dimensions will exist at almost all times.
Because the queriers have no centralized knowledge or coordination of how many queriers exist in the cluster, we must set a minimum of 4 for each querier<->request queue instance connection, where a "request queue instance" is a query-frontend or a query-scheduler.
What this PR does
Which issue(s) this PR fixes or relates to
Fixes #
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]
.about-versioning.md
updated with experimental features.