-
Notifications
You must be signed in to change notification settings - Fork 228
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
Enable computation of evenness score based on a preferred scoring key #2738
Enable computation of evenness score based on a preferred scoring key #2738
Conversation
809cb32
to
040e702
Compare
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 to me. Thanks Charanya!
ca6e2bc
to
972ba64
Compare
...apache/helix/controller/rebalancer/waged/constraints/MaxCapacityUsageInstanceConstraint.java
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.
Overall LGTM 😁 Just had one question.
helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java
Outdated
Show resolved
Hide resolved
972ba64
to
c27a0c9
Compare
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, nice work!
helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/AssignableNode.java
Show resolved
Hide resolved
This PR is ready to be merged. Commit Message: This PR provides a way for users to specify a list of PreferredScoringKeys that will help in computing evenness scores based on the preferred capacity keys only. |
Issues
Enable compute of evenness score based on a specified (prioritized) capacity key #2674
Description
Currently, WAGED consider many capacity categories/dimensions such as CPU, Disk, etc for the placement decision evenness scores. In some use case, only one dimension is relevant because the clusters are provisioned based on that category. And, if evenness scores are not based on that then it introduces more shuffle/movements.
So, we would like to provide a way for users to specify a prioritized evennessScoringKey that will help computing scores based on that category only.
Tests
mvn test -o -Dtest=TestClusterContext -pl=helix-core
mvn test -o -Dtest=TestMaxCapacityUsageInstanceConstraint -pl=helix-core
mvn test -o -Dtest=TestTopStateMaxCapacityUsageInstanceConstraint -pl=helix-core
Changes that Break Backward Compatibility (Optional)
(Consider including all behavior changes for public methods or API. Also include these changes in merge description so that other developers are aware of these changes. This allows them to make relevant code changes in feature branches accounting for the new method/API behavior.)
Documentation (Optional)
(Link the GitHub wiki you added)
Commits
Code Quality
(helix-style-intellij.xml if IntelliJ IDE is used)