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 09FEC200CFC for ; Thu, 28 Sep 2017 12:44:09 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 088011609CD; Thu, 28 Sep 2017 10:44:09 +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 4CDB81609C2 for ; Thu, 28 Sep 2017 12:44:08 +0200 (CEST) Received: (qmail 61171 invoked by uid 500); 28 Sep 2017 10:44:07 -0000 Mailing-List: contact jira-help@kafka.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@kafka.apache.org Delivered-To: mailing list jira@kafka.apache.org Received: (qmail 61159 invoked by uid 99); 28 Sep 2017 10:44:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Sep 2017 10:44:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 0C2EF181212 for ; Thu, 28 Sep 2017 10:44:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id FG4P1PYqSVYE for ; Thu, 28 Sep 2017 10:44:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 4009C5FE43 for ; Thu, 28 Sep 2017 10:44:01 +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 7E099E00DF for ; Thu, 28 Sep 2017 10:44:00 +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 40AE824286 for ; Thu, 28 Sep 2017 10:44:00 +0000 (UTC) Date: Thu, 28 Sep 2017 10:44:00 +0000 (UTC) From: "Ismael Juma (JIRA)" To: jira@kafka.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (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: Thu, 28 Sep 2017 10:44:09 -0000 [ https://issues.apache.org/jira/browse/KAFKA-3177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ismael Juma updated KAFKA-3177: ------------------------------- Fix Version/s: (was: 1.0.0) 1.1.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: 1.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.4.14#64029)