diff --git a/kafka/coordinator/assignors/range.py b/kafka/coordinator/assignors/range.py index c232d9e41..299e39c48 100644 --- a/kafka/coordinator/assignors/range.py +++ b/kafka/coordinator/assignors/range.py @@ -46,20 +46,18 @@ def assign(cls, cluster, member_metadata): if partitions is None: log.warning('No partition metadata for topic %s', topic) continue - partitions = sorted(list(partitions)) - partitions_for_topic = len(partitions) + partitions = sorted(partitions) consumers_for_topic.sort() partitions_per_consumer = len(partitions) // len(consumers_for_topic) consumers_with_extra = len(partitions) % len(consumers_for_topic) - for i in range(len(consumers_for_topic)): + for i, member in enumerate(consumers_for_topic): start = partitions_per_consumer * i start += min(i, consumers_with_extra) length = partitions_per_consumer if not i + 1 > consumers_with_extra: length += 1 - member = consumers_for_topic[i] assignment[member][topic] = partitions[start:start+length] protocol_assignment = {}