zpinto opened a new pull request, #2739:
URL: https://github.com/apache/helix/pull/2739

   ### Issues
   
   - [x] PartitionAssignmentAPI returns incorrect finalMapping when changes are 
applied and real pipeline computes
   
   
   ### Description
   
   It was reported that the helix-rest partitionAssignmentAPI was returning an 
incorrect finalMapping. When the changes simulated were applied, the 
finalMapping generated by the controller was different. In theory, the 
finalMapping can be simulated correctly if all the inputs to the algorithm 
exactly match those passed in the controller.
   
   After investigation, it was found that the offlineTimeMap was not being 
cleared by the cache and the BEST_POSSIBLE_STATE was not being persisted to ZK 
each time a new version was being computed by partial rebalance. Fixing these 
two issues ensures that the pipeline produces the correct finalMapping and the 
partitionAssignmentAPI is not using a stale BEST_POSSIBLE_STATE to compute the 
simulated finalMapping.
   
   I have added integration tests to test that the pipeline produces the same 
finalMapping as the result generated by the partitionAssignmentAPI.
   
   ### Tests
   
   - [x] testComputePartitionAssignmentAddInstance
   - [x] testComputePartitionAssignmentReplaceInstance
   
   ### Changes that Break Backward Compatibility (Optional)
   
   NA
   
   ### Documentation (Optional)
   
   NA
   
   ### Commits
   
   - My commits all reference appropriate Apache Helix GitHub issues in their 
subject lines. 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"
   
   ### Code Quality
   
   - My diff has been formatted using helix-style.xml 
   (helix-style-intellij.xml if IntelliJ IDE is used)
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to