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