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]

Reply via email to