You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Mayuresh Gharat (JIRA)" <ji...@apache.org> on 2015/12/18 19:06:46 UTC

[jira] [Commented] (KAFKA-2937) Topics marked for delete in Zookeeper may become undeletable

    [ https://issues.apache.org/jira/browse/KAFKA-2937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15064365#comment-15064365 ] 

Mayuresh Gharat commented on KAFKA-2937:
----------------------------------------

I ran a test with few commits behind trunk HEAD : 

1) Started the kafka cluster.
2) Produced data to topic T for quite some time so that enough data is accumulated on kafka brokers.
3) Delete a topic and immediately shutdown the cluster.
4) I could see the topic T under /admin/delete_topics.
5) After I restarted the cluster, the topic T was deleted.

> Topics marked for delete in Zookeeper may become undeletable
> ------------------------------------------------------------
>
>                 Key: KAFKA-2937
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2937
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.9.0.0
>            Reporter: Rajini Sivaram
>            Assignee: Mayuresh Gharat
>
> In our clusters, we occasionally see topics marked for delete, but never actually deleted. It may be due to brokers being restarted while tests were running, but further restarts of Kafka dont fix the problem. The topics remain marked for delete in Zookeeper.
> Topic describe shows:
> {quote}
> Topic:testtopic	PartitionCount:1	ReplicationFactor:3	Configs:
> 	Topic: testtopic	Partition: 0	Leader: none	Replicas: 3,4,0	Isr: 
> {quote}
> Kafka logs show:
> {quote}
> 2015-12-02 15:53:30,152] ERROR Controller 2 epoch 213 initiated state change of replica 3 for partition [testtopic,0] from OnlineReplica to OfflineReplica failed (state.change.logger)
> kafka.common.StateChangeFailedException: Failed to change state of replica 3 for partition [testtopic,0] since the leader and isr path in zookeeper is empty
>         at kafka.controller.ReplicaStateMachine.handleStateChange(ReplicaStateMachine.scala:269)
>         at kafka.controller.ReplicaStateMachine$$anonfun$handleStateChanges$2.apply(ReplicaStateMachine.scala:114)
>         at kafka.controller.ReplicaStateMachine$$anonfun$handleStateChanges$2.apply(ReplicaStateMachine.scala:114)
>         at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:322)
>         at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:978)
>         at kafka.controller.ReplicaStateMachine.handleStateChanges(ReplicaStateMachine.scala:114)
>         at kafka.controller.TopicDeletionManager$$anonfun$startReplicaDeletion$2.apply(TopicDeletionManager.scala:342)
>         at kafka.controller.TopicDeletionManager$$anonfun$startReplicaDeletion$2.apply(TopicDeletionManager.scala:334)
>         at scala.collection.immutable.Map$Map1.foreach(Map.scala:116)
>         at kafka.controller.TopicDeletionManager.startReplicaDeletion(TopicDeletionManager.scala:334)
>         at kafka.controller.TopicDeletionManager.kafka$controller$TopicDeletionManager$$onPartitionDeletion(TopicDeletionManager.scala:367)
>         at kafka.controller.TopicDeletionManager$$anonfun$kafka$controller$TopicDeletionManager$$onTopicDeletion$2.apply(TopicDeletionManager.scala:313)
>         at kafka.controller.TopicDeletionManager$$anonfun$kafka$controller$TopicDeletionManager$$onTopicDeletion$2.apply(TopicDeletionManager.scala:312)
>         at scala.collection.immutable.Set$Set1.foreach(Set.scala:79)
>         at kafka.controller.TopicDeletionManager.kafka$controller$TopicDeletionManager$$onTopicDeletion(TopicDeletionManager.scala:312)
>         at kafka.controller.TopicDeletionManager$DeleteTopicsThread$$anonfun$doWork$1$$anonfun$apply$mcV$sp$4.apply(TopicDeletionManager.scala:431)
>         at kafka.controller.TopicDeletionManager$DeleteTopicsThread$$anonfun$doWork$1$$anonfun$apply$mcV$sp$4.apply(TopicDeletionManager.scala:403)
>         at scala.collection.immutable.Set$Set2.foreach(Set.scala:111)
>         at kafka.controller.TopicDeletionManager$DeleteTopicsThread$$anonfun$doWork$1.apply$mcV$sp(TopicDeletionManager.scala:403)
>         at kafka.controller.TopicDeletionManager$DeleteTopicsThread$$anonfun$doWork$1.apply(TopicDeletionManager.scala:397)
>         at kafka.controller.TopicDeletionManager$DeleteTopicsThread$$anonfun$doWork$1.apply(TopicDeletionManager.scala:397)
>         at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:262)
>         at kafka.controller.TopicDeletionManager$DeleteTopicsThread.doWork(TopicDeletionManager.scala:397)
>         at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)
> {quote}                      
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)