-
Notifications
You must be signed in to change notification settings - Fork 561
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
Isolate tree internals into their own package #9662
Conversation
general draft comments: I know that without splitting it, TQA has a lot going on because shuffle-sharding and querier-shutting-down type stuff has its own complexity to worry about, but I do think it still is one unified concept: here's the tenant-querier shard status, and you can use it to implement QueueingAlgorithm too. We have plenty of types in Mimir that necessarily implement multiple interfaces based on the same data/state - like More Minor Feedback
|
Conversely, a big part of the reason I decided to split TQA and move part of it into the |
pkg/scheduler/queue/tree/multi_queuing_algorithm_tree_queue_test.go
Outdated
Show resolved
Hide resolved
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.
LGTM!
minor naming I would lean towards just shard
or shards
over sharding
.
Drop some length, keeping the meaning and not using the -ing
seems a lot more more common in the codebase
What this PR does
This PR moves the
MultiQueuingAlgorithmTreeQueue
and implementations ofQueuingAlgorithm
into their owntree
package. It also splitstenantQuerierAssignments
into two types:TenantQuerierQueuingAlgorithm
, which contains a map of queriers assigned to tenant IDs, and implementsQueuingAlgorithm
.tenantQuerierAssignments
, which holds tenant information required to handle shuffle-sharding, and computes querier assignment across tenants. It holds a reference toTenantQuerierQueuingAlgorithm
, updating the tenant-querier map when the assignments need recomputing.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.