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)