Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. preserving all the existing partition assignments
  2. removing all the partition assignments that have become invalid due to the change that triggers the reassignment
  3. assigning the unassigned partitions in a way that balances out the overall assignments of partitions to consumers
  4. further balancing out the resulting assignment by finding the partitions that can be reassigned to another consumer towards an overall more balanced assignment.

Upon each partition assignment calculation, the full partition assignments are preserved for each consumer (as user data). This is specially helpful when a consumer group leader dies and the leadership has to be given to some other group member. 

 

Example 1

Suppose there are three consumers C0, C1, C2, four topics t0, t1, t2, t3, and each topic has 2 partitions, resulting in partitions t0p0, t0p1, t1p0, t1p1, t2p0, t2p1, t3p0, t3p1. Each consumer is subscribed to all three topics.

...