You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Neha Narkhede (JIRA)" <ji...@apache.org> on 2014/02/03 20:06:12 UTC

[jira] [Commented] (KAFKA-1238) New producer hangs in a loop detecting metadata for auto created topics

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