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 2019/06/10 14:20:00 UTC
[jira] [Commented] (NIFI-6344) Add Failure Relationship to
UpdateAttribute
[ https://issues.apache.org/jira/browse/NIFI-6344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16860032#comment-16860032 ]
Mark Payne commented on NIFI-6344:
----------------------------------
We cannot simply add a relationship that is auto-terminated, as it means that we would be introducing data loss. I am also not inclined, personally, to rollback a session due to the auto-termination of the Relationship, as that would be very inconsistent with how the application works elsewhere and would lead to significant confusion. We would require a new property be added that would indicate how to handle failures. This was proposed and implemented a while back in NIFI-5448, but it was rolled back because it caused a lot of problems. Specifically, the problems were around versioned flow using the Flow Registry, and around adding a new property causing all Processors to indicate that they have local changes. That needs to be addressed before we can do anything here, I think.
> Add Failure Relationship to UpdateAttribute
> -------------------------------------------
>
> Key: NIFI-6344
> URL: https://issues.apache.org/jira/browse/NIFI-6344
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Affects Versions: 1.9.2
> Reporter: Peter Wicks
> Assignee: Peter Wicks
> Priority: Minor
> Labels: attribute, backwards-compatibility, expression-language, routing
> Time Spent: 2h 50m
> Remaining Estimate: 0h
>
> EL makes it possible for an UpdateAttribute processor to fail. When this happens the FlowFile is rolled back, and there is no way to route it to handle the failure automatically.
> Considerations:
> UpdateAttribute is used in probably all but the simplest of flows, thus any change made to support a failure relationship must be handled delicately. The goal of this change is for users to have no change in functionality unless they specifically configure it.
> Proposal:
> It was proposed on the Slack channel to create the failure relationship, but default it to auto-terminate. This is a good start, but without further work would result in a change in functionality. I propose that we will default to auto-terminate, but also detect this behavior in the code. If the Failure relationship is set to auto-terminate then we will rollback the transaction.
> The only downside I see with this is you can't actually auto-terminate Failures without the addition of another property, such as Failure Behavior: Route to Failure and Rollback options.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)