[
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)