Github user ijokarumawak commented on the issue:
https://github.com/apache/nifi/pull/1658
@mattyb149 Thanks for catching that! Your expectation was correct, however
AbstractProcessor always penalizes FlowFiles being processed when it rollback a
process session. The 2nd FlowFile was penalized and the 3rd one was processed
before the 2nd.
I updated processors using RollbackOnFailure to not extend
AbstractProcessor, so that those can penalize FlowFiles based on whether
RollbackOnFailure is enabled or not.
I confirmed that if the 2nd FlowFile failed out of 3 FlowFiles, the 2nd and
3rd FlowFiles stay in the incoming relationship and the 2nd FlowFile will be
processed again and again until it gets processed successfully.
Thanks again for your insightful review comments!
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---