...
Therefore, we should add the "generation" field into "Subscription" data of the consumer protocol. (i.e. ConsumerProtocolSubscription)
Public Interfaces
Consumer Current consumer protocol for Subscription:
KafkaConsumer:
Subscription => TopicList UserData AssignedPartitions
TopicList => List<String>
UserData => Bytes
OwnedPartitions => List<String, List<Int32>>
Assignment => AssignedPartitions UserData
OwnedPartitions |
Generations => List<String, List<Int32>>
UserData => Bytes
|
Proposed Changes
Updated consumer protocol for Subscription, which will add a new field "generation" at the end.
KafkaConsumer:
Subscription => TopicList UserData AssignedPartitions
TopicList => List<String>
UserData => Bytes
OwnedPartitions => List<String, List<Int32>>
Generation => Int32 // new field, Int32>
Assignment => AssignedPartitions UserData
AssignedPartitions OwnedPartitions => List<String, List<Int32>>
UserData => Bytes |
Proposed Changes
...
Compatibility, Deprecation, and Migration Plan
...