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)

Reply via email to