twmb commented on pull request #8668:
URL: https://github.com/apache/kafka/pull/8668#issuecomment-637026123


   From what I can tell, this looks good to me. This loses one mostly 
insignificant "optimization" that does not really affect anything in reality: 
prior, if an old-generation member is rejoining, the code would try to 
re-sticky partitions to those old members for any partitions that are now on 
overloaded members or are unassigned. This is a pretty minor optimization 
though, and deleting this logic entirely from my own balancer breaks no tests.
   
   This algorithm primarily differs from mine by doing a bunch of up front 
checking work, and then doing a "single" pass that performs all assignments. 
Mine does a bunch of assigning while doing checks, and then does a small 
balancing pass. Both of these options are great, though!
   
   Pretty nifty observation about building `partitionsTransferringOwnership` 
while doing assignment. I'm going to have to figure out if that's even possible 
with my approach--your algorithm can do that because of its one pass, whereas 
mine loses some context of who started with what by the time it gets to 
balancing.


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


Reply via email to