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)