DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Present API informs developers that they should avoid legacy protocol by marking void sendOffsetsToTransaction(Map<TopicPartition,OffsetAndMetadata> offsets, String consumerGroupId) deprecated, but still developers can easily use a non depreacated method void sendOffsetsToTransaction(Map<TopicPartition,OffsetAndMetadata> offsets, ConsumerGroupMetadata groupMetadata) and pass there ConsumerGroupMetadata instance created by hand using non deprecated constructor.
This situation is also quite confusing for creates confustion when migrating the legacy applications since the easiest way to make a code not use any deprecated API is to just , as developers might simply wrap a string consumer group id to in a ConsumerGroupMetadata object and pass it to the void sendOffsetsToTransaction(Map<TopicPartition,OffsetAndMetadata> offsets, ConsumerGroupMetadata groupMetadata) method without to avoid using deprecated APIs - but this will still lacks the necessary generation id and member id.
...
- Change is impacting all users using any available constructor of ConsumerGroupMetadata class.
- For Kafka 4.1, we need to keep the class ConsumerGroupMetadata as-is, to maintain backward compatibility. We should only deprecate both constructors, and update the JavaDocs saying, that this class will become an interface in the future.
- For Kafka 5.0, we do the actual code change from class to interface.
...