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

Added a testcase in integration test for auto-created topic and it passed. I 
think the patch works.

My understanding is that without the patch we can ran into the deadend where 
the cluster is updated to have zero brokers, and hence loop indefinitely there. 
I think longer-term we should probably return all the brokers in the cluster no 
matter of the TopicMetadataRequest content.

A few comments besides my non-committer +1 :

1. The "throw new IllegalStateException("No known nodes.");" in nextNode should 
be fatal since once we got here there would be not way out. Shall we make this 
exception a special one and force producer to stop?

2. The re-factoring seems much like the Request Object, if we are going to live 
with it shall we have a RequestOrResponse interface with toStruct and 
fromStruct APIs?

Guozhang

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

Reply via email to