[ 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)