[ 
https://issues.apache.org/jira/browse/KAFKA-1238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889759#comment-13889759
 ] 

Neha Narkhede commented on KAFKA-1238:
--------------------------------------

Thanks for the patch, Jay! 

Review comments-

        // the server can give back an empty metadata response (!) if the topic 
doesn't exist and that is our only
        // topic, don't use that

The comment is a bit misleading. The server returns the LeaderNotAvailable 
error code in the response. The handleMetadataResponse doesn't seem to check 
for error codes and retry based on that. But retries based on 
cluster.nodes().size() > 0? 

> 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.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)

Reply via email to