Michael, I think you have the premise exactly right. It's not just when you call session.write, though. It's for any call that you make to update a FlowFile. For example, if you call session.putAttribute or session.putAllAttributes, those methods also will return a new FlowFile object that you must capture / use.
> On Sep 16, 2015, at 8:07 PM, Michael Kobit <[email protected]> wrote: > > It is hard to tell without the rest of your code, but what you have shown > and the way you are explaining it doesn't seem like this error would happen. > > I've seen this problem when you do a processSession.write(flowfile, > outputStream -> {}) and you don't capture the returned `flowFile`. Are you > writing to a flowFile anywhere else and not using the returned value? > > On Wed, Sep 16, 2015 at 5:22 PM plj <[email protected]> wrote: > >> Howdy, >> >> I'm trying to send JSON to a flow file and I get the error "is not the >> most recent version of this FlowFile within this session". I'm not sure >> what I'm doing wrong. Here is a snippet >> FlowFile split = processSession.create(original); >> split = processSession.write(split, new >> OutputStreamCallback() { >> @Override >> public void process(OutputStream out) throws >> IOException { >> String content = baos.toString("UTF-8"); >> String json = toJSON(content); >> ObjectMapper mapper = new ObjectMapper(); >> JsonNode actualObj = mapper.readTree(json); >> logger.info("JSON METADATA \n" + >> mapper.defaultPrettyPrintingWriter().writeValueAsString(actualObj)); >> >> >> out.write(mapper.defaultPrettyPrintingWriter().writeValueAsString(actualObj).getBytes(StandardCharsets.UTF_8)); >> } >> }); >> >> >> The json is written out to the log >> >> In onTrigger(...) it set "meta" to the flow file "split" above >> >> processSession.transfer(meta, REL_METADATA); >> >> And it get this error >> >> 2015-09-16 16:36:48,482 ERROR [Timer-Driven Process Thread-9] >> org.mitre.nifi.NiFiNITFReader >> NiFiNITFReader[id=a615ceb9-fa67-4823-9eb0-310ebada5488] >> NiFiNITFReader[id=a615ceb9-fa67-4823-9eb0-310ebada5488] failed to process >> due to org.apache.nifi.processor.exception.FlowFileHandlingException: >> >> StandardFlowFileRecord[uuid=865d7aac-994c-41ac-a34c-599d92df31b9,claim=1442435806141-1,offset=0,name=i_3001a.ntf,size=1049479] >> is not the most recent version of this FlowFile within this session >> (StandardProcessSession[id=2]); rolling back session: >> org.apache.nifi.processor.exception.FlowFileHandlingException: >> >> StandardFlowFileRecord[uuid=865d7aac-994c-41ac-a34c-599d92df31b9,claim=1442435806141-1,offset=0,name=i_3001a.ntf,size=1049479] >> is not the most recent version of this FlowFile within this session >> (StandardProcessSession[id=2]) >> >> >> >> thoughts? >> >> thank you >> >> >> >> >> -- >> View this message in context: >> http://apache-nifi-developer-list.39713.n7.nabble.com/is-not-the-most-recent-version-of-this-FlowFile-within-this-session-tp2837.html >> Sent from the Apache NiFi Developer List mailing list archive at >> Nabble.com. >>
