[ https://issues.apache.org/jira/browse/KAFKA-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13599208#comment-13599208 ]
Swapnil Ghike commented on KAFKA-686: ------------------------------------- How do we differentiate whether the 0.8 broker is pointing at 0.7 zookeeper data, or the zookeeper data for 0.8 got messed up (using zkclient etc) by mistake? Perhaps the right solution is to rename the zookeeper directory for 0.8. > 0.8 Kafka broker should give a better error message when running against 0.7 > zookeeper > -------------------------------------------------------------------------------------- > > Key: KAFKA-686 > URL: https://issues.apache.org/jira/browse/KAFKA-686 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.8 > Reporter: Jay Kreps > Priority: Blocker > Labels: newbie, patch > Fix For: 0.8 > > Attachments: KAFAK-686-null-pointer-fix.patch > > > People will not know that the zookeeper paths are not compatible. When you > try to start the 0.8 broker pointed at a 0.7 zookeeper you get a > NullPointerException. We should detect this and give a more sane error. > Error: > 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$2.apply(ZkUtils.scala:498) > at > kafka.utils.ZkUtils$$anonfun$getReplicaAssignmentForTopics$2.apply(ZkUtils.scala:494) > 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:494) > at > kafka.controller.KafkaController.initializeControllerContext(KafkaController.scala:446) > at > kafka.controller.KafkaController.onControllerFailover(KafkaController.scala:220) > at > kafka.controller.KafkaController$$anonfun$1.apply$mcV$sp(KafkaController.scala:85) > at > kafka.server.ZookeeperLeaderElector.elect(ZookeeperLeaderElector.scala:53) > at > kafka.server.ZookeeperLeaderElector.startup(ZookeeperLeaderElector.scala:43) > at kafka.controller.KafkaController.startup(KafkaController.scala:381) > at kafka.server.KafkaServer.startup(KafkaServer.scala:90) > at > kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:34) > at kafka.Kafka$.main(Kafka.scala:46) > at kafka.Kafka.main(Kafka.scala) > 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) > ... 16 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira