Sean Quah created KAFKA-19974:
---------------------------------

             Summary: Partitions can be assigned to more than one member in the 
same epoch
                 Key: KAFKA-19974
                 URL: https://issues.apache.org/jira/browse/KAFKA-19974
             Project: Kafka
          Issue Type: Bug
          Components: group-coordinator
            Reporter: Sean Quah
            Assignee: Sean Quah
             Fix For: 4.2.0


NB: This bug is not about partitions being assigned to more than one member 
simultaneously.

The change for KAFKA-19431 introduced a case where two different members could 
be assigned a partition in the same epoch (but not at the same time).

When transitioning from UNREVOKED_PARTITIONS to UNREVOKED_PARTITIONS, we bump 
the member epoch. However, we cannot tell whether we had unrevoked partitions 
due to an unsubscription or an assignment change. When the unrevoked partitions 
are due to an unsubscription, we may bump to an epoch where other partitions 
are supposed to be assigned to a different member.

Example:

A group contains two members, both stable at epoch 10. The target assignment is 
at epoch 10.
 # Member A unsubscribes from topic bar at epoch 10. It enters 
UNREVOKED_PARTITIONS at epoch 10 { assigned partitions: [foo], pending 
revocation: [bar] }
 # A new target assignment for epoch 11 moves partition foo to member B.
 # Member A heartbeats at epoch 10, yielding bar. We try to reconcile to the 
target assignment and it enters UNREVOKED_PARTITIONS again, at epoch 11 { 
assigned partitions: [], pending revocation: [foo] }
 # Member A yields topic foo.
 # Member B is assigned topic foo at epoch 11 \{ assigned partitions [foo] }



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to