Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In both cases, the zombie commit will therefore be rejected by the relaxed check.

Note that, as before, we will allow commits for partitions that are not owned by the member, as long as the member knows the most recent member epoch. This is done to make the new rule strictly weaker than the previous check, which allowed such commits.

Proposed Changes

Introducing an epoch per assigned partition

...

Where, for simplicity, we can assume the assignment epoch of a partition that is not assigned to that member to be Integer.maxValue.be the broker-side member epoch, to match the current behavior of accepting commits for unassigned partitions. Therefore, we allow commits for partitions that are not assigned to the member, as long as the committer uses an up-to-date member epoch, same as the current implementation.

Handling of commits without generation ID / member epoch

Requests that do not contain a valid member epoch, which can come from the admin client or a consumer with self-assigned partitions will be handled the same way as before. That is, for a non-existing groups, a simple group is created (which is not affected by this KIP). Offset commits with member epoch or generation ID -1 are unconditionally accepted of the group is empty, or the commit is transactional. 

Handling of legacy record members

...