suzhiking commented on PR #23873: URL: https://github.com/apache/kafka/pull/23873#issuecomment-6503102351
@lucasbru I just tried the variant and it seems to bring 2 issues: 1. reconciler checks whether the updated member's tasks to grant is held by other processes using the in memory `group::currentActiveTaskProcessId/currentStandbyTaskProcessIds/currentWarmupTaskProcessIds`, so it grants no tasks to new member when it sees the target tasks of `updatedMember` are still holding by its old copy, only until the old member's tombsones are written and replayed after the handler returned does it grant these tasks in the next heartbeat. So in normal cases where the new process of M1 does not contain copies of its tasks, the variant would introduce a delay. 2. assignor, however, uses `UpdatedMembersAndTargetAssignmentView` to assign tasks, let's say M1's rejoin triggers the assignor to run, the sticky assignor would see the new M1's empty copy and thus could assign the tasks it had to other members in the new target assignment. This beaks the stickiness of the sticky assignor. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
