You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Andy LoPresto (JIRA)" <ji...@apache.org> on 2018/02/08 19:02:00 UTC

[jira] [Assigned] (NIFI-4856) ByteCountingInputStream should override available()

     [ https://issues.apache.org/jira/browse/NIFI-4856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy LoPresto reassigned NIFI-4856:
-----------------------------------

    Assignee: Andy LoPresto

> ByteCountingInputStream should override available()
> ---------------------------------------------------
>
>                 Key: NIFI-4856
>                 URL: https://issues.apache.org/jira/browse/NIFI-4856
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>            Reporter: Brandon DeVries
>            Assignee: Andy LoPresto
>            Priority: Major
>
> ByteCountingInputStream [1] does not override the InputStream.available() method as indicated in the InputStream javadocs [2].  In 0.x[3] there was another implementation of ByteCountingInputStream  that correctly overrode available().  However, this was replaced with the incorrect version in 1.x. 
>  
> This causes any processor that attempts to use the available() method of the InputStream returned from ProcessSession.read() to erroneously believe it has reached the end of the stream, as this method is supposed to return "an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking *or {{0}} when it reaches the end* of the input stream."
>  
> The following method needs to be added:
> {code:java}
> @Override
> public int available() throws IOException {
>      return in.available();
> }{code}
>  
> [1] [https://github.com/apache/nifi/blob/rel/nifi-1.5.0/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/stream/io/ByteCountingInputStream.java]
> [2] [https://docs.oracle.com/javase/8/docs/api/index.html]
> [3] [https://github.com/apache/nifi/blob/0.x/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/repository/io/ByteCountingInputStream.java]
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)