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 6B70C200CF7 for ; Tue, 19 Sep 2017 15:53:04 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 6A37A1609E0; Tue, 19 Sep 2017 13:53:04 +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 B9EBE1609DB for ; Tue, 19 Sep 2017 15:53:03 +0200 (CEST) Received: (qmail 12350 invoked by uid 500); 19 Sep 2017 13:53:02 -0000 Mailing-List: contact issues-help@nifi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@nifi.apache.org Delivered-To: mailing list issues@nifi.apache.org Received: (qmail 12341 invoked by uid 99); 19 Sep 2017 13:53:02 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 Sep 2017 13:53:02 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 51B50CEDA1 for ; Tue, 19 Sep 2017 13:53:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[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 (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id GdMY4w8Sh4K0 for ; Tue, 19 Sep 2017 13:53: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 5738D5FDE2 for ; Tue, 19 Sep 2017 13:53: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 5422FE0D49 for ; Tue, 19 Sep 2017 13:53: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 10373244DE for ; Tue, 19 Sep 2017 13:53:00 +0000 (UTC) Date: Tue, 19 Sep 2017 13:53:00 +0000 (UTC) From: "Deon Huang (JIRA)" To: issues@nifi.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (NIFI-4395) GnerateTableFetch can't fetch column type by state through instance reboot MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 19 Sep 2017 13:53:04 -0000 Deon Huang created NIFI-4395: -------------------------------- Summary: GnerateTableFetch can't fetch column type by state through instance reboot Key: NIFI-4395 URL: https://issues.apache.org/jira/browse/NIFI-4395 Project: Apache NiFi Issue Type: Bug Affects Versions: 1.3.0 Reporter: Deon Huang Fix For: 1.4.0 Attachments: GenerateTableFetch_Exception.png The problem can easily be reproduce. Once GenerateTableFetch store state and encounter NiFi instance reboot. (Dynamic naming table by expression language) The exception will occur. The error in source code is list below. ``` if (type == null) { // This shouldn't happen as we are populating columnTypeMap when the processor is scheduled or when the first maximum is observed throw new IllegalArgumentException("No column type found for: " + colName); } ``` When this situation happened. The FlowFile will also be grab and can't release or observed. Processor can't existing grab column type from columnTypeMap through instance reboot. Hence will inevidible get this exception, rollback FlowFile and never success. QueryDatabaseTable processor will not encounter this exception due to it setup(context) every time, While GenerateTableFetch will not pass the condition and thus try to fetch column type from 0 length columnTypeMap. ``` if (!isDynamicTableName && !isDynamicMaxValues) { super.setup(context); } ``` I can take the issue if it is recognize as bug.The problem can easily be reproduce. Once GenerateTableFetch store state and encounter NiFi instance reboot. (Dynamic naming table by expression language) The exception will occur. The error in source code is list below. ``` if (type == null) { // This shouldn't happen as we are populating columnTypeMap when the processor is scheduled or when the first maximum is observed throw new IllegalArgumentException("No column type found for: " + colName); } ``` When this situation happened. The FlowFile will also be grab and can't release or observed. Processor can't existing grab column type from columnTypeMap through instance reboot. Hence will inevidible get this exception, rollback FlowFile and never success. QueryDatabaseTable processor will not encounter this exception due to it setup(context) every time, While GenerateTableFetch will not pass the condition and thus try to fetch column type from 0 length columnTypeMap. ``` if (!isDynamicTableName && !isDynamicMaxValues) { super.setup(context); } ``` I can take the issue if it is recognize as bug. -- This message was sent by Atlassian JIRA (v6.4.14#64029)