[ 
https://issues.apache.org/jira/browse/KAFKA-3177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Damian Guy updated KAFKA-3177:
------------------------------
    Fix Version/s:     (was: 1.1.0)
                   2.0.0

> 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: 2.0.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
(v7.6.3#76005)

Reply via email to