[ 
https://issues.apache.org/jira/browse/NIFI-2876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15880939#comment-15880939
 ] 

ASF GitHub Bot commented on NIFI-2876:
--------------------------------------

Github user olegz commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/1214#discussion_r102775809
  
    --- Diff: 
nifi-commons/nifi-utils/src/main/java/org/apache/nifi/stream/io/util/AbstractDemarcator.java
 ---
    @@ -98,22 +136,26 @@ void fill() throws IOException {
             }
     
             int bytesRead;
    +        /*
    +         * The do/while pattern is used here similar to the way it is used 
in
    +         * BufferedReader essentially protecting from assuming the EOS 
until it
    +         * actually is since not every implementation of InputStream 
guarantees
    +         * that bytes are always available while the stream is open.
    +         */
             do {
                 bytesRead = this.is.read(this.buffer, this.index, 
this.buffer.length - this.index);
             } while (bytesRead == 0);
    -        this.bufferLength = bytesRead != -1 ? this.index + bytesRead : -1;
    -        if (this.bufferLength > this.maxDataSize) {
    +        this.availableBytesLength = bytesRead != -1 ? this.index + 
bytesRead : -1;
    +        if (this.availableBytesLength > this.maxDataSize) {
    --- End diff --
    
    Hmm, good catch. It should only be compared to a token as it's being 
computed, will fix



> Refactor TextLineDemarcator and StreamDemarcator into a common abstract class
> -----------------------------------------------------------------------------
>
>                 Key: NIFI-2876
>                 URL: https://issues.apache.org/jira/browse/NIFI-2876
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Oleg Zhurakousky
>            Assignee: Oleg Zhurakousky
>            Priority: Minor
>             Fix For: 1.2.0
>
>
> Based on the work that has been performed as part of the NIFI-2851 we now 
> have a new class with a significantly faster logic to perform demarcation of 
> the InputStream (TextLineDemarcator). This new class's initial starting point 
> was the existing LineDemarcator. They both now share ~60-70% of common code 
> which would be important to extract into a common abstract class as well as 
> incorporate the new (faster) demarcation logic int StreamDemarcator.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to