Jason Gustafson created KAFKA-7771:
--------------------------------------
Summary: Group/Transaction coordinators should update assignment
based on current partition count
Key: KAFKA-7771
URL: https://issues.apache.org/jira/browse/KAFKA-7771
Project: Kafka
Issue Type: Bug
Reporter: Jason Gustafson
In GroupMetadataManager and TransactionStateManager, we cache the number of
partitions assigned to __consumer_offsets and __transaction_state respectively.
This is used to compute the expected partition for a given group.id or
transactional.id. The value is computed only once when the broker starts up and
it is based on the number of partitions if the topic exists or the value
configured by `offsets.topic.num.partitions` in the case of the group
coordinator (or `transaction.state.log.num.partitions` for the transaction
coordinator).
The problem is that Kafka supports manual creation of these topics as well and
the number of partitions doesn't have to match the value configured. If the
topic is created with a mismatching number of partitions, then the cached
values will not be correct and coordinator lookup may fail.
To fix this, when brokers receive metadata updates from the controller, they
should pass the current number of partitions for these internal topics to the
respective coordinators so that the count can be updated.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)