jiajunwang opened a new pull request #520: Refactoring soft constraints to 
simply the algorithm and fix potential issues.
URL: https://github.com/apache/helix/pull/520
 
 
   ### Issues
   
   - [ ] My PR addresses the following Helix issues and references them in the 
PR description:
   
   #518 
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   
   Refactoring soft constraints to simply the algorithm and fix potential 
issues.
   1. Check for weight and other conditions so as to avoid unnecessary 
calculations.
   2. Simply the soft constraint interfaces and implementations. Avoid 
duplicate code.
   3. Adjust partition movements constraint logic to reduce the chance of 
moving parition when the baseline and best possible assignment diverge.
   4. Estimate utilization in addition to the other usage estimation. The 
estimation will be used as a base when calculating the capacity usage score. 
This is to ensure the algorithm treats different clusters with different 
overall usage in the same way.
   5. Fix the issue that high utilization calculation does not consider the 
current proposed replica usage.
   6. Adjust the related test cases.
   
   ### Tests
   
   - [ ] The following tests are written for this issue:
   
   All the constraint-based algorithm tests have been modified based on the 
change.
   
   - [ ] The following is the result of the "mvn test" command on the 
appropriate module:
   
   (Copy & paste the result of "mvn test")
   
   ### Commits
   
   - [ ] My commits all reference appropriate Apache Helix GitHub issues in 
their subject lines, and I have squashed multiple commits if they address the 
same issue. In addition, my commits follow the guidelines from "[How to write a 
good git commit message](http://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation in the 
following wiki page:
   
   NA
   
   ### Code Quality
   
   - [ ] My diff has been formatted using helix-style.xml

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@helix.apache.org
For additional commands, e-mail: reviews-h...@helix.apache.org

Reply via email to