Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Not A Problem
-
0.8.0
-
None
-
Mac OS X 10.7.5
Description
I followed the quickstart instructions
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+0.8+Quick+Start
It caused an infinite loop while trying to start a broker.
[2013-03-08 16:55:19,287] ERROR Error while electing or becoming leader on broker 1 (kafka.server.ZookeeperLeaderElector)
kafka.common.KafkaException: Can't parse json string: null
at kafka.utils.Json$.liftedTree1$1(Json.scala:20)
at kafka.utils.Json$.parseFull(Json.scala:16)
at kafka.utils.ZkUtils$$anonfun$getReplicaAssignmentForTopics$1.apply(ZkUtils.scala:484)
at kafka.utils.ZkUtils$$anonfun$getReplicaAssignmentForTopics$1.apply(ZkUtils.scala:480)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at kafka.utils.ZkUtils$.getReplicaAssignmentForTopics(ZkUtils.scala:480)
at kafka.controller.KafkaController.initializeControllerContext(KafkaController.scala:451)
at kafka.controller.KafkaController.onControllerFailover(KafkaController.scala:225)
at kafka.controller.KafkaController$$anonfun$1.apply$mcV$sp(KafkaController.scala:87)
at kafka.server.ZookeeperLeaderElector.elect(ZookeeperLeaderElector.scala:53)
at kafka.server.ZookeeperLeaderElector$LeaderChangeListener.handleDataDeleted(ZookeeperLeaderElector.scala:106)
at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:549)
at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71)
Caused by: java.lang.NullPointerException
at scala.util.parsing.combinator.lexical.Scanners$Scanner.<init>(Scanners.scala:52)
at scala.util.parsing.json.JSON$.parseRaw(JSON.scala:71)
at scala.util.parsing.json.JSON$.parseFull(JSON.scala:85)
at kafka.utils.Json$.liftedTree1$1(Json.scala:17)
... 13 more
I tracked the issue to unhandled Java null string in these 2 methods in ZkUtils: getReplicaAssignmentForTopics, getPartitionAssignmentForTopics.
I am submitting a patch with the fixes. Now quickstart works fine for me.