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

   ### Issues
   
   - [x] For large clusters which take a long time to finish global and partial 
rebalance, there is a race condition. When assignableInstanceConfigMap and 
other related Maps and Sets are cleared and rebuilt, the async global and 
partial rebalance pipelines attempt to iterate through them.
   
   ### Description
   
   Because we called clear() on the Maps and Sets in the cache while the global 
or partial rebalance is iterating over them, we have seen many 
ConcurrentModificationError exceptions causing these pipelines to fail. To 
remediate this, we will build new Maps and Sets on cache refresh and swap out 
the old Maps and Sets after we have built the new ones.
   
   ### Tests
   
   - [x] No new tests are necessary, should keep the same behavior. 
   
   ### 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