[ https://issues.apache.org/jira/browse/KAFKA-1238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13896252#comment-13896252 ]
Neha Narkhede commented on KAFKA-1238: -------------------------------------- Regarding #2, I'm not so sure I understood the logic behind updating metadata only where there are no brokers. When do you expect topic metadata to return no brokers? Also, if the metadata request doesn't have an error code (which means it succeeded for all topics it asked for), then why would we retry? Also, if it failed only for a subset of topics, why not just retry with the subset of topics that failed instead of all topics. And, the bug is still not fixed with the latest patch, still hangs in an infinite loop for a new topic that is auto created. Will go through the code in more detail, as I may be missing something obvious here. > New producer hangs in a loop detecting metadata for auto created topics > ----------------------------------------------------------------------- > > Key: KAFKA-1238 > URL: https://issues.apache.org/jira/browse/KAFKA-1238 > Project: Kafka > Issue Type: Bug > Components: producer > Reporter: Neha Narkhede > Assignee: Jay Kreps > Priority: Critical > Attachments: KAFKA-1238-v1.patch, KAFKA-1238.patch > > > New producer hangs in a loop detecting metadata for auto created topics - > java.lang.IllegalStateException: No known nodes. > at kafka.common.Cluster.nextNode(Cluster.java:97) > at > kafka.clients.producer.internals.Sender.maybeMetadataRequest(Sender.java:154) > at kafka.clients.producer.internals.Sender.run(Sender.java:120) > at kafka.clients.producer.internals.Sender.run(Sender.java:84) > at java.lang.Thread.run(Thread.java:695) > java.lang.IllegalStateException: No known nodes. > at kafka.common.Cluster.nextNode(Cluster.java:97) > at > kafka.clients.producer.internals.Sender.maybeMetadataRequest(Sender.java:154) > at kafka.clients.producer.internals.Sender.run(Sender.java:120) > at kafka.clients.producer.internals.Sender.run(Sender.java:84) > at java.lang.Thread.run(Thread.java:695) > java.lang.IllegalStateException: No known nodes. > at kafka.common.Cluster.nextNode(Cluster.java:97) > at > kafka.clients.producer.internals.Sender.maybeMetadataRequest(Sender.java:154) > at kafka.clients.producer.internals.Sender.run(Sender.java:120) > at kafka.clients.producer.internals.Sender.run(Sender.java:84) > at java.lang.Thread.run(Thread.java:695) > java.lang.IllegalStateException: No known nodes. > at kafka.common.Cluster.nextNode(Cluster.java:97) > at > kafka.clients.producer.internals.Sender.maybeMetadataRequest(Sender.java:154) > at kafka.clients.producer.internals.Sender.run(Sender.java:120) > at kafka.clients.producer.internals.Sender.run(Sender.java:84) > at java.lang.Thread.run(Thread.java:695) > java.lang.IllegalStateException: No known nodes. > at kafka.common.Cluster.nextNode(Cluster.java:97) > at > kafka.clients.producer.internals.Sender.maybeMetadataRequest(Sender.java:154) > at kafka.clients.producer.internals.Sender.run(Sender.java:120) > at kafka.clients.producer.internals.Sender.run(Sender.java:84) > at java.lang.Thread.run(Thread.java:695) > java.lang.IllegalStateException: No known nodes. > at kafka.common.Cluster.nextNode(Cluster.java:97) > at > kafka.clients.producer.internals.Sender.maybeMetadataRequest(Sender.java:154) > at kafka.clients.producer.internals.Sender.run(Sender.java:120) > at kafka.clients.producer.internals.Sender.run(Sender.java:84) > at java.lang.Thread.run(Thread.java:695) > The producer needs to be restarted to start sending data to the auto created > topic -- This message was sent by Atlassian JIRA (v6.1.5#6160)