lucasbru opened a new pull request, #23784:
URL: https://github.com/apache/kafka/pull/23784

   This is the second change of the series that makes the warm-up task refiner 
(KAFKA-20665) compatible with clients that speak version 0 of the streams group 
heartbeat (see KAFKA-21111), stacked on #23761. The first commit of this branch 
is that PR; please review only the last commit. I will rebase once #23761 is 
merged.
   
   A warm-up task can only complete a migration if the coordinator observes the 
target owner restoring it, which a member that heartbeats with version 0 never 
allows, as it does not report task offsets. When the target assignment moves a 
stateful task to such a member, the refiner no longer stages the migration. It 
lets the target assignment through for that task, so the current owner revokes 
it and the target owner takes it over, as it would without a refiner.
   
   The check sits after the readiness check, so that a move between two members 
of one process still happens inside the instance, and before the analysis of 
the incumbent and of the copies, so that a caught-up copy on another process is 
not promoted as a temporary owner. That detour would only postpone the same 
cold grant and add a second hand-over. The version of the current owner is 
irrelevant: a member that processes a task is hot by definition, and keeps it 
while a target owner that can be warmed up restores it. If the target owner 
already holds a standby task of the task, the client recycles it into the 
active task, so the grant is warm in the common case, even though the 
coordinator cannot see that.
   
   The refiner is not the default yet, so this change is not live. The tests 
cover the grant, the missing detour through a caught-up copy, and a current 
owner of version 0 that keeps its task.
   


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