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]
