You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Luke Chen (Jira)" <ji...@apache.org> on 2021/03/15 03:37:00 UTC
[jira] [Created] (KAFKA-12464) Enhance constrained sticky Assign
algorithm
Luke Chen created KAFKA-12464:
---------------------------------
Summary: Enhance constrained sticky Assign algorithm
Key: KAFKA-12464
URL: https://issues.apache.org/jira/browse/KAFKA-12464
Project: Kafka
Issue Type: Improvement
Affects Versions: 2.7.0
Reporter: Luke Chen
Assignee: Luke Chen
In KAFKA-9987, we did a great improvement for the case when all consumers were subscribed to same set of topics. The algorithm contains 4 phases:
# Reassign as many previously owned partitions as possible, up to the maxQuota
# Fill remaining members up to minQuota
# If we ran out of unassigned partitions before filling all consumers, we need to start stealing partitions from the over-full consumers at max capacity
# Otherwise we may have run out of unfilled consumers before assigning all partitions, in which case we should just distribute one partition each to all consumers at min capacity
Take an example for better understanding:
Current status: 2 consumers (C0, C1), and 10 topic partitions: t1p0, t1p1, ... t1p9
Suppose, current assignment is:
_C0: t1p0, t1p1, t1p2, t1p3, t1p4_
_C1: t1p5, t1p6, t1p7, t1p8, t1p9_
New, new consumer added: C2, so we'll do:
# Reassign as many previously owned partitions as possible, up to the maxQuota
# Fill remaining members up to minQuota
# If we ran out of unassigned partitions before filling all consumers, we need to start stealing partitions from the over-full consumers at max capacity
# Otherwise we may have run out of unfilled consumers before assigning all partitions, in which case we should just distribute one partition each to all consumers at min capacity
--
This message was sent by Atlassian Jira
(v8.3.4#803005)