dajac opened a new pull request, #23740:
URL: https://github.com/apache/kafka/pull/23740
The consumer group coordinator can let a member keep using a partition
that it no longer holds. This patch adds two tests to
`ConsumerGroupHeartbeatRequestTest` that reproduce two such sequences
with raw heartbeats. Both tests assert the current behavior.
- `testUnreportedPartitionIsFreedOnFullHeartbeat`: a member that
resends its full state while it is still taking a newly assigned
partition reports an owned set without that partition. When the
target assignment moves the partition to another member, the
coordinator checks the revocation against that owned set, treats the
partition as already revoked and frees it in the same heartbeat. Two
consumers then own the partition at the same time.
- `testCommitAcceptedForPartitionRevokedOnUnsubscribe`: a member that
unsubscribes from a topic before the next target assignment can be
computed revokes the topic's partitions without changing its epoch.
Once another member gets one of those partitions, a late commit from
the first member at its unchanged epoch is accepted, because the
commit validation doesn't check the partitions when the epoch
matches. The commit overwrites the other member's offset.
I am working on fixes for both issues. Each fix will change its test to
assert the expected behavior.
--
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]