[ https://issues.apache.org/jira/browse/NIFI-3860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Secules updated NIFI-3860: ------------------------------- Priority: Major (was: Minor) > Consider relaxing the constraint that ProcessSession enforces we give it the > most recent version of a FlowFile > -------------------------------------------------------------------------------------------------------------- > > Key: NIFI-3860 > URL: https://issues.apache.org/jira/browse/NIFI-3860 > Project: Apache NiFi > Issue Type: Improvement > Components: Core Framework > Reporter: Mark Payne > Assignee: Mark Payne > Priority: Major > Fix For: 1.3.0 > > > Currently, when we call methods on ProcessSession to access or modify a > FlowFile, the ProcessSession will roll itself back and throw a > FlowFileHandlingException with the message "<FlowFile> is not the most recent > version of this FlowFile within this session". This was done to ensure that > Processor developers ensure that they know what they are doing and always > have the most recent version of a FlowFile. However, this comes with a few > downsides: > * It can result in code being complex in error-handling cases when we need to > ensure that no matter what we hold the most recent version of a FlowFile > * It's easy to call session.putAttribute and forget to store the most recent > version of the FlowFile, which gets returned - this is most problematic when > dealing with a Collection<FlowFile>. > * We have a method for ProcessSession.read(FlowFile) that returns an > InputStream. However, we don't have a corresponding write() method. This is > due to the fact that once we finish writing to the FlowFile, we would have to > return the most up-to-date version of the FlowFile and there's no way to do > that if returning an OutputStream. > We should consider relaxing this constraint and instead just always make use > of the most recent version of the FlowFile, even if an older version of the > FlowFile is passed in. -- This message was sent by Atlassian Jira (v8.20.10#820010)