mjsax opened a new pull request, #22981: URL: https://github.com/apache/kafka/pull/22981
Follow up to https://github.com/apache/kafka/pull/22748 Extends the in-place warm-up promotion to every role change a member can make for a task it already holds, so that the client recycles the task instead of closing and re-creating it (cf. KAFKA-9501): - standby -> active and warm-up -> active (promotion): the member keeps the standby or warm-up task until the active task is actually granted, because that grant waits for the previous owner to release it. - active -> standby (demotion): the standby task is granted in the same step in which the active task is revoked. The active task still needs an acknowledgement, so that the group observes its release before the task is granted to its next owner. - standby <-> warm-up (conversion): both roles run the same code on the client, so the roles are swapped in a single step and no revocation acknowledgement is needed at all. Each of the three "unreleased task" predicates blocks a grant while the member's *process* holds the task in another role, which is what keeps a process from running the same task twice. These checks are now member-precise: a task the member holds itself is a candidate for a role change rather than a blocker, while a task held by a sibling member on the same process still blocks. -- 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]
