THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
inputTopicPartitionspartitionsPerTopic := Set<TopicPartition> brokerAllowIC := BooleanMap<String, Integer> Subscriptions := Map<String, Subscription> brokerAllowIC := Boolean NumberOfPartitions := size of inputTopicPartitions |
This step unblocks the potential to allow a dynamic consumer group scaling beyond partition level capping.
...
Code Block | ||||
---|---|---|---|---|
| ||||
public Consumer {
...
/**
* Manually assign a list of partitions with specific key ranges to this consumer. If a partition maps to an empty list,
* that means a full ownership of the partition.
*/
void assign(Map<TopicPartition, List<Tuple<int64, int64>>> partitionWithKeyRanges);
} |
To recognize whether a consumer is allowed to subscribe as key-share
Code Block | ||||
---|---|---|---|---|
| ||||
public Subscription {
} |
To leverage the key based filtering in a group subscription mode, we will also add callbacks the ConsumerRebalanceListener to populate key range assignments if necessary:
...