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

Doug Cutting updated AVRO-1326:
-------------------------------

    Attachment: AVRO-1326.patch

Thanks for finding this!

Here's a patch that fixes it and modifies an existing test to trigger the 
problem.

I'll commit this soon unless someone objects.
                
> Files written with bzip2 codec cannot be read
> ---------------------------------------------
>
>                 Key: AVRO-1326
>                 URL: https://issues.apache.org/jira/browse/AVRO-1326
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.7.4
>            Reporter: Kevin Irwin
>            Priority: Minor
>         Attachments: AVRO-1326.patch, BzipTest.java
>
>
> When attempting to read a file written using the bzip2 codec for compression, 
> the following exception is thrown upon completion of the first encoded block:
> Exception in thread "main" org.apache.avro.AvroRuntimeException: 
> java.io.IOException: Block read partially, the data may be corrupt
>       at org.apache.avro.file.DataFileStream.hasNext(DataFileStream.java:210)
>       at BzipTests.main(BzipTests.java:28)
> Caused by: java.io.IOException: Block read partially, the data may be corrupt
>       at org.apache.avro.file.DataFileStream.hasNext(DataFileStream.java:194)
>       ... 1 more
> An inspection of BZip2Codec indicates the root cause is in the compress() 
> method. The entire supplied ByteBuffer is compressed, not just the valid 
> portion of the buffer.  On decompress, the resultant length is then larger 
> than the recorded uncompressed block size.
> On line 51:
> outputStream.write(uncompressedData.array());
> should be:
> outputStream.write(uncompressedData.array(), uncompressedData.position(), 
> uncompressedData.remaining());

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to