[
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)