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

ASF GitHub Bot commented on KAFKA-4745:
---------------------------------------

Github user asfgit closed the pull request at:

    https://github.com/apache/kafka/pull/2528


> KafkaLZ4BlockOutputStream.java incorrectly finishes the last frame
> ------------------------------------------------------------------
>
>                 Key: KAFKA-4745
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4745
>             Project: Kafka
>          Issue Type: Bug
>          Components: compression
>    Affects Versions: 0.10.1.1
>            Reporter: Will Droste
>             Fix For: 0.10.1.1
>
>
> There is a scenario where by the delegated OutputStream does not call flush 
> before close there will be missing data in the stream. The reason for this is 
> the stream is actually marked close before it is actually flushed.
> The end mark is written before the flush, also the writeEndMark was finishing 
> the stream so its redundant in this context to mark it finished. In my fork 
> the 'finished=true' was removed from the 'writeEndMark' method.
> {code}
>     @Override
>     public void close() throws IOException {
>         if (!finished) {
>             writeEndMark();
>             flush();
>             finished = true;
>         }
>         if (out != null) {
>             out.close();
>             out = null;
>         }
>     }
> {code}
> should be
> {code}
>     @Override
>     public void close() throws IOException {
>         if (!finished) {
>             // finish any pending data
>             writeBlock();
>             // write out the end mark
>             writeEndMark();
>             // mark the stream as finished
>             finished = true;
>         }
>         if (out != null) {
>             out.close();
>             out = null;
>         }
>     }
> {code}



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

Reply via email to