[ https://issues.apache.org/jira/browse/NIFI-5200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16506546#comment-16506546 ]
ASF subversion and git services commented on NIFI-5200: ------------------------------------------------------- Commit 00a63d17af3c82727b9119acb00fccfcf6639fc5 in nifi's branch refs/heads/master from [~markap14] [ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=00a63d1 ] NIFI-5200: Fixed issue with InputStream being closed when calling ProcessSession.read() twice against sequential Content Claims Signed-off-by: Matthew Burgess <mattyb...@apache.org> This closes #2753 > 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)