[ https://issues.apache.org/jira/browse/KAFKA-3389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Manikumar Reddy reassigned KAFKA-3389: -------------------------------------- Assignee: Manikumar Reddy (was: Neha Narkhede) > ReplicaStateMachine areAllReplicasForTopicDeleted check not handling well > case when there are no replicas for topic > ------------------------------------------------------------------------------------------------------------------- > > Key: KAFKA-3389 > URL: https://issues.apache.org/jira/browse/KAFKA-3389 > Project: Kafka > Issue Type: Bug > Components: controller > Affects Versions: 0.9.0.1 > Reporter: Stevo Slavic > Assignee: Manikumar Reddy > Priority: Minor > > Line ReplicaStateMachine.scala#L285 > {noformat} > replicaStatesForTopic.forall(_._2 == ReplicaDeletionSuccessful) > {noformat} > which is return value of {{areAllReplicasForTopicDeleted}} function/check, > probably should better be checking for > {noformat} > replicaStatesForTopic.isEmpty || replicaStatesForTopic.forall(_._2 == > ReplicaDeletionSuccessful) > {noformat} > I noticed it because in controller logs I found entries like: > {noformat} > [2016-03-04 13:27:29,115] DEBUG [Replica state machine on controller 1]: Are > all replicas for topic foo deleted Map() > (kafka.controller.ReplicaStateMachine) > {noformat} > even though normally they look like: > {noformat} > [2016-03-04 09:33:41,036] DEBUG [Replica state machine on controller 1]: Are > all replicas for topic foo deleted Map([Topic=foo,Partition=0,Replica=0] -> > ReplicaDeletionStarted, [Topic=foo,Partition=0,Replica=3] -> > ReplicaDeletionStarted, [Topic=foo,Partition=0,Replica=1] -> > ReplicaDeletionSuccessful) (kafka.controller.ReplicaStateMachine) > {noformat} > This may cause topic deletion request never to be cleared from ZK even when > topic has been deleted. -- This message was sent by Atlassian JIRA (v6.3.4#6332)