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

Erik Helleren commented on KAFKA-3177:
--------------------------------------

Is there a ticket for that "no broker up and running" scenario so I can upvote 
it?  We are running into an application hang when calling position() against a 
non-live kafka cluster.  I would also expect an exception in such cases after a 
reasonable timeout.  

> Kafka consumer can hang when position() is called on a non-existing partition.
> ------------------------------------------------------------------------------
>
>                 Key: KAFKA-3177
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3177
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients
>    Affects Versions: 0.9.0.0
>            Reporter: Jiangjie Qin
>            Assignee: Jason Gustafson
>            Priority: Critical
>             Fix For: 0.10.1.0
>
>
> This can be easily reproduced as following:
> {code}
> {
>     ...
>     consumer.assign(SomeNonExsitingTopicParition);
>     consumer.position();
>     ...
> }
> {code}
> It seems when position is called we will try to do the following:
> 1. Fetch committed offsets.
> 2. If there is no committed offsets, try to reset offset using reset 
> strategy. in sendListOffsetRequest(), if the consumer does not know the 
> TopicPartition, it will refresh its metadata and retry. In this case, because 
> the partition does not exist, we fall in to the infinite loop of refreshing 
> topic metadata.
> Another orthogonal issue is that if the topic in the above code piece does 
> not exist, position() call will actually create the topic due to the fact 
> that currently topic metadata request could automatically create the topic. 
> This is a known separate issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to