[
https://issues.apache.org/jira/browse/KAFKA-6612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lucas Wang resolved KAFKA-6612.
-------------------------------
Resolution: Fixed
> Added logic to prevent increasing partition counts during topic deletion
> ------------------------------------------------------------------------
>
> Key: KAFKA-6612
> URL: https://issues.apache.org/jira/browse/KAFKA-6612
> Project: Kafka
> Issue Type: Improvement
> Reporter: Lucas Wang
> Assignee: Lucas Wang
> Priority: Major
>
> Problem: trying to increase the partition count of a topic while the topic
> deletion is in progress can cause the topic to be never deleted.
> In the current code base, if a topic deletion is still in progress and the
> partition count is increased,
> the new partition and its replica assignment be created on zookeeper as data
> of the path /brokers/topics/<topic>.
> Upon detecting the change, the controller sees the topic is being deleted,
> and therefore ignores the partition change. Therefore the zk path
> /brokers/topics/<topic>/partitions/<partition id> will NOT be created.
> If a controller switch happens next, the added partition will be detected by
> the new controller and stored in the
> controllerContext.partitionReplicaAssignment. The new controller then tries
> to delete the topic by first transitioning its replicas to OfflineReplica.
> However the transition to OfflineReplica state will NOT succeed since there
> is no leader for the partition. Since the only state change path for a
> replica to be successfully deleted is OfflineReplica ->
> ReplicaDeletionStarted -> ReplicaDeletionSuccessful, not being able to enter
> the OfflineReplica state means the replica can never be successfully deleted.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)