[
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)