[ https://issues.apache.org/jira/browse/NIFI-5200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Burgess updated NIFI-5200: ------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) > Nested ProcessSession.read resulting in outer stream being closed. > ------------------------------------------------------------------ > > Key: NIFI-5200 > URL: https://issues.apache.org/jira/browse/NIFI-5200 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 1.6.0 > Reporter: Peter Radden > Assignee: Mark Payne > Priority: Blocker > Fix For: 1.7.0 > > > Consider this example processor: > {code:java} > FlowFile ff1 = session.write(session.create(), > (out) -> { out.write(new byte[]{ 'A', 'B' }); }); > FlowFile ff2 = session.write(session.create(), > (out) -> { out.write('C'); }); > session.read(ff1, > (in1) -> { > int a = in1.read(); > session.read(ff2, (in2) -> { int c = in2.read(); }); > int b = in1.read(); > }); > session.transfer(ff1, REL_SUCCESS); > session.transfer(ff2, REL_SUCCESS);{code} > The expectation is that a='A', b='B' and c='C'. > The actual result is that the final call to in1.read() throws due to the > underlying stream being closed by the previous session.read on ff2. > A workaround seems to be to pass the optional parameter to session.read of > allowSessionStreamManagement=true. > Is this expected that nested reads used in this way will not work? -- This message was sent by Atlassian JIRA (v7.6.3#76005)