jeffkbkim commented on PR #16088:
URL: https://github.com/apache/kafka/pull/16088#issuecomment-2136254190

   @dajac for me, this seems like a non-trivial change. it seems we are 
changing a core part of the assignment logic.
   
   some general questions wrt the improved performance (numbers look great!) I 
have, specifically on what contributed to the large gain:
   1. It seems a lot of the gain come from the fact that the cost of assigning 
a partition was expensive and we now can bypass a lot of it. Not just in terms 
of object creation but also bookkeeping/updating all of the different data 
structures
   2. Usually we will not revoke many partitions at once, which i think is the 
case for the benchmark. So we also gain from `num_partitions_to_revoke <<< 
num_partitions_to_assign`
   3. We no longer sort the unassigned(remaining) partitions. We don't need 
this as we iterate the `Set<Integer> unassignedPartitions` via the partition 
index. 
   
   Let me know if my understanding is correct. Thanks!


-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to