Vahid Hashemian created KAFKA-7026:
--------------------------------------
Summary: Sticky assignor could assign a partition to multiple
consumers
Key: KAFKA-7026
URL: https://issues.apache.org/jira/browse/KAFKA-7026
Project: Kafka
Issue Type: Bug
Components: clients
Reporter: Vahid Hashemian
Assignee: Vahid Hashemian
In the following scenario sticky assignor assigns a topic partition to two
consumers in the group:
# Create a topic {{test}} with a single partition
# Start consumer {{c1}} in group {{sticky-group}} ({{c1}} becomes group leader
and gets {{test-0}})
# Start consumer {{c2}} in group {{sticky-group}} ({{c1}} holds onto
{{test-0}}, {{c2}} does not get any partition)
# Pause {{c1}} (e.g. using Java debugger) ({{c2}} becomes leader and takes
over {{test-0}}, {{c1}} leaves the group)
# Resume {{c1}}
At this point both {{c1}} and {{c2}} will have {{test-0}} assigned to them.
The reason is {{c1}} still has kept its previous assignment ({{test-0}}) from
the last assignment it received from the leader (itself) and did not get the
next round of assignments (when {{c2}} became leader) because it was paused.
Both {{c1}} and {{c2}} enter the rebalance supplying {{test-0}} as their
existing assignment. The sticky assignor code does not currently check for this
duplication.
Note: This issue was originally reported on
[StackOverflow|https://stackoverflow.com/questions/50761842/kafka-stickyassignor-breaking-delivery-to-single-consumer-in-the-group].
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)