You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ulysses you (JIRA)" <ji...@apache.org> on 2019/05/17 08:20:00 UTC

[jira] [Created] (KAFKA-8378) kafka start error when topic data error

ulysses you created KAFKA-8378:
----------------------------------

             Summary: kafka start error when topic data error
                 Key: KAFKA-8378
                 URL: https://issues.apache.org/jira/browse/KAFKA-8378
             Project: Kafka
          Issue Type: Improvement
          Components: controller
    Affects Versions: 2.1.1, 2.2.0, 2.0.1, 1.1.1, 1.0.2
            Reporter: ulysses you
         Attachments: 89399ffe4995ea9b4c2ebdb788f5dfd55001bc80.patch

When start kafka controller output error log, but not show what topic error.  Unfortunately, my kafka cluster has 300+ topics, so its difficult to find the error topic.

{code:java}
[2019-05-17 13:02:28,778] ERROR [Controller 12]: Error while electing or becoming controller on broker 12 (kafka.controller.KafkaController)
kafka.common.KafkaException: Can't parse json string: null
at kafka.utils.Json$.liftedTree1$1(Json.scala:40)
at kafka.utils.Json$.parseFull(Json.scala:36)
at kafka.utils.ZkUtils$$anonfun$getReplicaAssignmentForTopics$1.apply(ZkUtils.scala:726)
at kafka.utils.ZkUtils$$anonfun$getReplicaAssignmentForTopics$1.apply(ZkUtils.scala:722)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at kafka.utils.ZkUtils.getReplicaAssignmentForTopics(ZkUtils.scala:722)
at kafka.controller.KafkaController.initializeControllerContext(KafkaController.scala:657)
at kafka.controller.KafkaController.onControllerFailover(KafkaController.scala:260)
at kafka.controller.KafkaController.elect(KafkaController.scala:1578)
at kafka.controller.KafkaController$Reelect$.process(KafkaController.scala:1513)
at kafka.controller.ControllerEventManager$ControllerEventThread$$anonfun$doWork$1.apply$mcV$sp(ControllerEventManager.scala:50)
at kafka.controller.ControllerEventManager$ControllerEventThread$$anonfun$doWork$1.apply(ControllerEventManager.scala:50)
at kafka.controller.ControllerEventManager$ControllerEventThread$$anonfun$doWork$1.apply(ControllerEventManager.scala:50)
at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:31)
at kafka.controller.ControllerEventManager$ControllerEventThread.doWork(ControllerEventManager.scala:49)
at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:64)
Caused by: java.lang.NullPointerException
at scala.util.parsing.combinator.lexical.Scanners$Scanner.<init>(Scanners.scala:44)
at scala.util.parsing.json.JSON$.parseRaw(JSON.scala:51)
at scala.util.parsing.json.JSON$.parseFull(JSON.scala:65)
at kafka.utils.Json$.liftedTree1$1(Json.scala:37)
... 16 more
{code}

In my scene, the error topic has node in zookeeper, just like `/brokers/topics/mytopic` , but the data of node is null. 

This patch avoid broker starting error because of error topic.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)