[ 
https://issues.apache.org/jira/browse/KAFKA-20434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Jacot resolved KAFKA-20434.
---------------------------------
    Fix Version/s: 4.4.0
       Resolution: Fixed

> Consumer group does not recompute assignment when static members rejoin with 
> different assignor
> -----------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-20434
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20434
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 4.0.0, 4.1.0, 4.2.0, 4.3.0
>            Reporter: David Jacot
>            Assignee: David Jacot
>            Priority: Major
>             Fix For: 4.4.0
>
>
> When all static members of a consumer group using the consumer protocol 
> (KIP-848) leave and rejoin with a different server-side assignor (e.g., from 
> uniform to range), the group does not recompute the target assignment. The 
> old assignment is silently returned instead.
> The root cause is in GroupMetadataManager.consumerGroupHeartbeat. The 
> bumpGroupEpoch flag only considers changes to subscribed topic names and 
> subscribed topic regex. It does not check whether the group's preferred 
> server-side assignor has changed as a result of the member update. Since the 
> group epoch is never bumped, the condition groupEpoch > 
> group.assignmentEpoch() remains false and updateTargetAssignment is never 
> called.
> The fix should compare the group's preferred assignor before and after the 
> member update. The group epoch should be bumped when the preferred (majority) 
> assignor changes — not when an individual member's preference changes.



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

Reply via email to