You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Mark Payne (JIRA)" <ji...@apache.org> on 2017/12/08 18:09:00 UTC
[jira] [Commented] (NIFI-4562) MergeContent errors with
FlowFileHandlingException: transfer relationship not specified if
IOException thrown
[ https://issues.apache.org/jira/browse/NIFI-4562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283951#comment-16283951 ]
Mark Payne commented on NIFI-4562:
----------------------------------
The above template makes it easy to replicate this issue. Simply start & stop the left-most GenerateFlowFile twice. Then start and stop the right-most GenerateFlowFile once. When MergeContent runs, it will end up rolling back the session instead of routing the non-avro FlowFile to 'failure'.
> MergeContent errors with FlowFileHandlingException: transfer relationship not specified if IOException thrown
> -------------------------------------------------------------------------------------------------------------
>
> Key: NIFI-4562
> URL: https://issues.apache.org/jira/browse/NIFI-4562
> Project: Apache NiFi
> Issue Type: Bug
> Components: Extensions
> Reporter: Mark Payne
> Assignee: Mark Payne
> Attachments: NIFI-4562.xml
>
>
> If an IOException is thrown when merging FlowFiles (for instance out of disk space or too many open files), it will be converted to a ProcessException, and BinFiles will catch that. It will then transfer FlowFiles to 'failure' and call session.commit(). However, if a 'merged' FlowFile already was created then it does not get removed. As a result, the call to session.commit will throw a FlowFileHandlingException indicating that the FlowFile's transfer relationship is not set.
> We need to make sure that each of the 'mergers' catches this ProcessException and removes the created 'bundled' flowfile before re-throwing it.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)