izzyharker opened a new pull request, #23220:
URL: https://github.com/apache/kafka/pull/23220
Adds `GroupMetadataManagerCompactionReplayTest`, which tests partition
loading after compaction for scenarios involving offset commit combined
with classic->consumer/streams upgrades, as seen in KAFKA-19862/KAFKA-20254.
The tests capture the records a real coordinator writes during a group's
lifecycle, sweep a single contiguous cleaning window across the log (a
record is compactable when it is superseded by a later record with the
same key or is a tombstone), and replay each resulting variant through a
fresh `GroupCoordinatorShard`, asserting it loads without throwing. The
window only falls on batch boundaries, since one write's records share a
segment and therefore share the cleaner's verdict.
- `testClassicGroupUpgradeToConsumerGroupWithOffsetCommit`: a group created
on the classic protocol commits offsets, rebalances, is upgraded online
to the consumer protocol, rolls its classic members onto the new
protocol and scales out. Verified this test fails when KAFKA-19862 is
reverted.
- `testClassicGroupMigratedToStreamsGroupLoadsCleanlyUnderCompaction`: a
Kafka Streams application is migrated offline from the classic protocol
to the streams protocol across three processes. Verified this test
fails when KAFKA-20254 is reverted.
### Committer Checklist (excluded from commit message)
- [ ] Verify design and implementation
- [ ] Verify test coverage and CI build status
- [ ] Verify documentation (including upgrade notes)
--
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]