Github user mattyb149 commented on the issue:

    https://github.com/apache/nifi/pull/2448
  
    I can't find any examples on where an "original" relationship is available 
when progressive commits are also available, for the reason you mention above. 
Progressive commits are available in QueryDatabaseTable but it is a source 
processor and doesn't accept incoming flow files. The "original" relationship 
is in processors like SplitXYZ where the content is changed but the original 
input might need to be preserved, and all flow files are committed once at the 
end. [NIFI-2878](https://issues.apache.org/jira/browse/NIFI-2878) is an open 
issue to allow "streaming splits", but my guess is that the original 
relationship will not be available, or we'd want to have consensus that 
"original" can have different behavior based on the "partial commits" idea.
    
    I've considered a couple approaches for this:
    1) Do not transfer the input flow file to "original" if doing incremental 
commits
    2) Transfer the input flow file to "original" on the first incremental 
commit
    
    My concern with the former is that it may still be necessary to access the 
input flow file. My concern with the latter is that it kind of implies that an 
operation has succeeded, when continued processing after the first commit can 
fail. At that point the flow may assume all flow files have been processed 
(some flows count on "original" be emitted at the end of successful processing 
and is used as a trigger). I'm not sure which is more user-friendly, thoughts?


---

Reply via email to