[ 
https://issues.apache.org/jira/browse/NIFI-9475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17544245#comment-17544245
 ] 

Timea Barna edited comment on NIFI-9475 at 5/31/22 9:03 AM:
------------------------------------------------------------

Hello [~mkapkiai],

>From the NiFi framework point of view 'success' is just the name of the 
>relationship. The framework itself has no information about the intended use 
>of a relationship. So the retry framework handles every relationship equally 
>this is why retry can be set on a 'success' relationship.


was (Author: timeabarna):
Hello [~mkapkiai],

>From the NiFi framework point of view 'success' is just the name of the 
>relationship. The framework itself has no information about the intended use 
>of a relationship. So the framework handles every relationship equally this is 
>why retry can be set on a 'success' relationship.

> Provide Framework-Level Retries for NiFi Relationships
> ------------------------------------------------------
>
>                 Key: NIFI-9475
>                 URL: https://issues.apache.org/jira/browse/NIFI-9475
>             Project: Apache NiFi
>          Issue Type: New Feature
>            Reporter: Timea Barna
>            Assignee: Timea Barna
>            Priority: Major
>             Fix For: 1.16.0
>
>         Attachments: image-2022-05-17-09-27-33-222.png
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> For a processor that routes to failure, in NiFi I have 3 options:
> 1) Loop 'failure' back to the processor and retry forever
> 2) Auto-terminate or route the data elsewhere without any retries
> 3) Build a complex retry loop that creates or updates an attribute, routes on 
> that attribute to determine whether or not we've exceeded the maximum number 
> of retries, and if not penalizes the FlowFile (typically with a Script 
> processor) and then routes back to try the FlowFile again.
> This provides a poor user experience and poor performance and results in very 
> complex flows that are difficult to understand and maintain.
> As a user, when I configure a Processor, I should be able to indicate that 
> for Relationship ABC, I want to retry the FlowFile 5 times. Then, if the 
> Processor transfers a FlowFile to that relationship, it should instead 
> transfer the FlowFile back to its original queue and increment the transfer 
> count for that relationship from 0 to 1 and penalize the FlowFile. If the 
> Processor processes it again and transfers it to the same Relationship again, 
> it'll again put it back to the original queue and increment the count to 2. 
> Only when the data is routed to that Relationship 5 times (because that's the 
> configured retry count in this example) should the FlowFile actually be 
> transferred to that corresponding connection(s) or auto-terminated, as the 
> flow is configured.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to