[ https://issues.apache.org/jira/browse/KAFKA-431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426226#comment-13426226 ]
Jun Rao commented on KAFKA-431: ------------------------------- Not sure if this is due to that JSON.parseFull is not thread safe. > LogCorruptionTest.testMessageSizeTooLarge fails occasionally > ------------------------------------------------------------ > > Key: KAFKA-431 > URL: https://issues.apache.org/jira/browse/KAFKA-431 > Project: Kafka > Issue Type: Bug > Components: core > Affects Versions: 0.8 > Reporter: Jun Rao > Fix For: 0.8 > > > It fails with the following exception: > [0m[[0minfo[0m] [0mTest Starting: > testMessageSizeTooLarge(kafka.log.LogCorruptionTest)[0m > [2012-07-31 15:54:57,525] ERROR KafkaApi on Broker 0, Error while retrieving > topic metadata (kafka.server.KafkaApis:99) > java.lang.NullPointerException > at > scala.util.parsing.combinator.Parsers$NoSuccess.<init>(Parsers.scala:131) > at > scala.util.parsing.combinator.Parsers$Failure.<init>(Parsers.scala:158) > at > scala.util.parsing.combinator.Parsers$$anonfun$acceptIf$1.apply(Parsers.scala:489) > at > scala.util.parsing.combinator.Parsers$$anonfun$acceptIf$1.apply(Parsers.scala:487) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Success.flatMapWithNext(Parsers.scala:113) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Failure.append(Parsers.scala:162) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Success.flatMapWithNext(Parsers.scala:113) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Success.flatMapWithNext(Parsers.scala:113) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Success.flatMapWithNext(Parsers.scala:113) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap$1.apply(Parsers.scala:200) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:203) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:208) > at > scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:182) > at > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala:742) > at scala.util.parsing.json.JSON$.parseRaw(JSON.scala:71) > at scala.util.parsing.json.JSON$.parseFull(JSON.scala:85) > at > kafka.utils.ZkUtils$$anonfun$getPartitionAssignmentForTopics$1.apply(ZkUtils.scala:461) > at > kafka.utils.ZkUtils$$anonfun$getPartitionAssignmentForTopics$1.apply(ZkUtils.scala:456) > at scala.collection.Iterator$class.foreach(Iterator.scala:631) > at > scala.collection.LinearSeqLike$$anon$1.foreach(LinearSeqLike.scala:52) > at > kafka.utils.ZkUtils$.getPartitionAssignmentForTopics(ZkUtils.scala:456) > at > kafka.admin.AdminUtils$$anonfun$getTopicMetaDataFromZK$1.apply(AdminUtils.scala:93) > at > kafka.admin.AdminUtils$$anonfun$getTopicMetaDataFromZK$1.apply(AdminUtils.scala:91) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206) > at > scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) > at scala.collection.immutable.List.foreach(List.scala:45) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:206) > at scala.collection.immutable.List.map(List.scala:45) > at kafka.admin.AdminUtils$.getTopicMetaDataFromZK(AdminUtils.scala:91) > at > kafka.server.KafkaApis$$anonfun$handleTopicMetadataRequest$1.apply(KafkaApis.scala:433) > at > kafka.server.KafkaApis$$anonfun$handleTopicMetadataRequest$1.apply(KafkaApis.scala:423) > at > scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) > at scala.collection.immutable.List.foreach(List.scala:45) > at > kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:422) > at kafka.server.KafkaApis.handle(KafkaApis.scala:61) > at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:38) > at java.lang.Thread.run(Thread.java:662) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira