kafka-jira mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pengwei (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-5553) Delete topic failed to change from OnlineReplica to ReplicaDeletionStarted if ISR not created
Date Tue, 04 Jul 2017 08:15:00 GMT

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

Pengwei commented on KAFKA-5553:
--------------------------------

One method try to fix this issue is : in the  ReplicaStateMachine.handleStateChange when the
target is OfflineReplica
if we find controllerContext.partitionLeadershipInfo does not contain this topic partition,
we still change this replica's state to OfflineReplica.
Is this method OK?   [~junrao] [~ijuma]

Maybe I can try to fix it. 

> Delete topic failed to change from OnlineReplica to ReplicaDeletionStarted  if ISR not
created
> ----------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-5553
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5553
>             Project: Kafka
>          Issue Type: Bug
>          Components: controller
>    Affects Versions: 0.9.0.1, 0.10.2.0, 0.11.0.0
>            Reporter: Pengwei
>
> We found the error log as follow and the topic can not remove for a long time:
> [2016-07-11 20:17:52,965] ERROR Controller 1328 epoch 315 initiated state change of replica
1328 for partition [websocket_test_topic,0] from OnlineReplica to ReplicaDeletionStarted failed
(state.change.logger)
> java.lang.AssertionError: assertion failed: Replica [Topic=websocket_test_topic,Partition=0,Replica=1328]
should be in the OfflineReplica states before moving to ReplicaDeletionStarted state. Instead
it is in OnlineReplica state
> 	at scala.Predef$.assert(Predef.scala:165)
> 	at kafka.controller.ReplicaStateMachine.assertValidPreviousStates(ReplicaStateMachine.scala:309)
> 	at kafka.controller.ReplicaStateMachine.handleStateChange(ReplicaStateMachine.scala:190)
> 	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 kafka.controller.ReplicaStateMachine.handleStateChanges(ReplicaStateMachine.scala:114)
> 	at kafka.controller.TopicDeletionManager$$anonfun$startReplicaDeletion$2.apply(TopicDeletionManager.scala:344)
> 	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$Set1.foreach(Set.scala:79)
> 	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)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message