Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E63D9200BFF for ; Tue, 17 Jan 2017 20:39:33 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id E519A160B30; Tue, 17 Jan 2017 19:39:33 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3ACB1160B46 for ; Tue, 17 Jan 2017 20:39:33 +0100 (CET) Received: (qmail 27115 invoked by uid 500); 17 Jan 2017 19:39:32 -0000 Mailing-List: contact dev-help@kafka.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@kafka.apache.org Delivered-To: mailing list dev@kafka.apache.org Received: (qmail 27104 invoked by uid 99); 17 Jan 2017 19:39:32 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Jan 2017 19:39:32 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id DA2B7C0C80 for ; Tue, 17 Jan 2017 19:39:31 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id kyk5lzA2JEwo for ; Tue, 17 Jan 2017 19:39:30 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 6BE9B5FB5B for ; Tue, 17 Jan 2017 19:39:30 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id CD027E8693 for ; Tue, 17 Jan 2017 19:39:28 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id B9B0B25293 for ; Tue, 17 Jan 2017 19:39:26 +0000 (UTC) Date: Tue, 17 Jan 2017 19:39:26 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: dev@kafka.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (KAFKA-3177) Kafka consumer can hang when position() is called on a non-existing partition. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 17 Jan 2017 19:39:34 -0000 [ https://issues.apache.org/jira/browse/KAFKA-3177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15826673#comment-15826673 ] ASF GitHub Bot commented on KAFKA-3177: --------------------------------------- Github user hachikuji closed the pull request at: https://github.com/apache/kafka/pull/1157 > 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.3.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)