Allen Wang created KAFKA-5724:
Summary: AbstractPartitionAssignor does not take into
consideration that partition number may start from non-zero
Issue Type: Bug
Components: clients, consumer
Affects Versions: 0.11.0.0
Reporter: Allen Wang
In AbstractPartitionAssignor.assign(Cluster metadata, Map<String, Subscription>
subscriptions), it invokes assign(partitionsPerTopic, subscriptions). It
assumes that partition number starts from 0, and it constructs TopicPartition
in the range of [0, partitionsPerTopic).
This assumption is not correct. The correct way to handle it is to follow the
same approach in producer's DefaultPartitioner, where it uses [0,
numberOfPartition) as an index to the actual partition.
There are use cases where partition number may not start from zero. It can
happen if users use advanced tooling to manually craft the partition number
when creating topics.
This message was sent by Atlassian JIRA