You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Deon Huang (JIRA)" <ji...@apache.org> on 2018/01/29 16:04:00 UTC

[jira] [Reopened] (NIFI-4395) GenerateTableFetch can't fetch column type by state after instance reboot

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

Deon Huang reopened NIFI-4395:
------------------------------

Need to support multiple state cache recover after instance reboot.

> GenerateTableFetch can't fetch column type by state after 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
>            Assignee: Deon Huang
>            Priority: Major
>             Fix For: 1.6.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 grab existing  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
(v7.6.3#76005)