[ https://issues.apache.org/jira/browse/KAFKA-371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417656#comment-13417656 ]
Neha Narkhede commented on KAFKA-371: ------------------------------------- Yes, that will work too. I guess the API was added so that every access to the log was guarded with the check. But if we ensure that you can't create one in the first place, we can get rid of the check in getLogPool and keep the one in createLog. > Creating topic of empty string puts broker in a bad state > --------------------------------------------------------- > > Key: KAFKA-371 > URL: https://issues.apache.org/jira/browse/KAFKA-371 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.6, 0.7 > Reporter: Martin Kleppmann > Fix For: 0.8 > > Attachments: KAFKA-371-0.7.1.patch, KAFKA-371-0.8.patch > > > Using the Java client library, I accidentally published a message where the > topic name was the empty string. This put the broker in a bad state where > publishing became impossible, and the following exception was logged 10-20 > times per second: > 2012-06-21 00:41:30,324 [kafka-processor-3] ERROR kafka.network.Processor - > Closing socket for /127.0.0.1 because of er > ror > kafka.common.InvalidTopicException: topic name can't be empty > at kafka.log.LogManager.getOrCreateLog(LogManager.scala:165) > at > kafka.server.KafkaRequestHandlers.kafka$server$KafkaRequestHandlers$$handleProducerRequest(KafkaRequestHandle > rs.scala:75) > at > kafka.server.KafkaRequestHandlers.handleProducerRequest(KafkaRequestHandlers.scala:58) > at > kafka.server.KafkaRequestHandlers$$anonfun$handlerFor$1.apply(KafkaRequestHandlers.scala:43) > at > kafka.server.KafkaRequestHandlers$$anonfun$handlerFor$1.apply(KafkaRequestHandlers.scala:43) > at kafka.network.Processor.handle(SocketServer.scala:289) > at kafka.network.Processor.read(SocketServer.scala:312) > at kafka.network.Processor.run(SocketServer.scala:207) > at java.lang.Thread.run(Thread.java:679) > Restarting Kafka did not help. I had to manually clear out the bad state in > Zookeeper to resolve the problem. > The broker should not accept a message that would put it in such a bad state. -- 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