gitedmond opened a new pull request, #23514:
URL: https://github.com/apache/kafka/pull/23514

   Kafka can fail to load a group during an online consumer-to-classic 
downgrade when log compaction races with coordinator replay. The loader may 
encounter a classic group followed by consumer-group records whose upgrade 
tombstone was removed, and throws `Group <id> is not a consumer group`. 
Consumer tombstones from the downgrade can also arrive after the classic group 
is loaded.
   
   This change lets replay create a consumer group from a positive consumer 
record when the group currently has the classic type, and treats consumer 
tombstones against a classic group as no-ops. Validation for Streams and Share 
group collisions remains strict.
   
   The PR adds record-level regression tests covering migration, tombstones, 
unrelated group types, and snapshot rollback. It also enables the two consumer 
downgrade compaction-replay tests added in #23220. Both of those tests failed 
with the reported exception before this change and pass afterward.
   
   Validation: `:group-coordinator:test :group-coordinator:spotlessCheck` 
(including Checkstyle and SpotBugs) on current trunk. The focused before/after 
reproduction was verified separately against the unmodified replay helper.


-- 
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]

Reply via email to