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 A3320200D06 for ; Mon, 11 Sep 2017 04:21:05 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A02C31609C3; Mon, 11 Sep 2017 02:21:05 +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 E5AFF1609BD for ; Mon, 11 Sep 2017 04:21:04 +0200 (CEST) Received: (qmail 47217 invoked by uid 500); 11 Sep 2017 02:21:04 -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 47205 invoked by uid 99); 11 Sep 2017 02:21:03 -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; Mon, 11 Sep 2017 02:21:03 +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 336AC182D99 for ; Mon, 11 Sep 2017 02:21:03 +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-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id iFYPaLMp59lQ for ; Mon, 11 Sep 2017 02:21:01 +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 E48A45FC69 for ; Mon, 11 Sep 2017 02:21:00 +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 74238E00A7 for ; Mon, 11 Sep 2017 02:21: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 2C0A124137 for ; Mon, 11 Sep 2017 02:21:00 +0000 (UTC) Date: Mon, 11 Sep 2017 02:21:00 +0000 (UTC) From: "Richard Yu (JIRA)" To: jira@kafka.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (KAFKA-5301) Improve exception handling on consumer path MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 11 Sep 2017 02:21:05 -0000 [ https://issues.apache.org/jira/browse/KAFKA-5301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160466#comment-16160466 ] Richard Yu edited comment on KAFKA-5301 at 9/11/17 2:20 AM: ------------------------------------------------------------ In regards to the first point that [~guozhang] mentioned: 1. If an exception was thrown, for example, in the {{onPartitionsRevoked}} method. A {{RebalanceException}} is thrown. Notice that there is also a variable, which is private, that is set to that exception: {code} streamThread.setRebalanceException(t); {code} 2. What could be done: a) Make the variable storing the exception accessible to outside classes. b) If the variable had been changed from its default value (if there is one), the method callback would not rethrow the exception. was (Author: yohan123): In regards to the first point that [~guozhang] mentioned: 1. If an exception was thrown, for example, in the {{onPartitionsRevoked}} method. A {{RebalanceException}} is thrown. Notice that there is also a variable, which is private, that is set to that exception: {code} streamThread.setRebalanceException(t); {code} 2. What could be done: a) Make the variable storing the exception accessible to outside classes. b) If the variable had been changed from its default value (if there is one), then {{StreamTask}}, the class in which the method callback is defined, would not rethrow the exception. > Improve exception handling on consumer path > ------------------------------------------- > > Key: KAFKA-5301 > URL: https://issues.apache.org/jira/browse/KAFKA-5301 > Project: Kafka > Issue Type: Sub-task > Components: streams > Affects Versions: 0.11.0.0 > Reporter: Eno Thereska > Fix For: 1.0.0 > > > Used in StreamsThread.java, mostly to .poll() but also to restore data. > Used in StreamsTask.java, mostly to .pause(), .resume() > All exceptions here are currently caught all the way up to the main running loop in a broad catch(Exception e) statement in StreamThread.run(). > One main concern on the consumer path is handling deserialization errors that happen before streams has even had a chance to look at the data: https://issues.apache.org/jira/browse/KAFKA-5157 -- This message was sent by Atlassian JIRA (v6.4.14#64029)