Updated Branches: refs/heads/cassandra-2.0 cfa0e580e -> 232906d7e
Revert "remove decompression code in CompressedSequentialWriter" This reverts commit 9644f098967d6ba9154725148a383b3502ef62c2. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/232906d7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/232906d7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/232906d7 Branch: refs/heads/cassandra-2.0 Commit: 232906d7e01587c32739c61cd72079715c0abb3c Parents: cfa0e58 Author: Marcus Eriksson <marc...@spotify.com> Authored: Sat Oct 19 08:48:43 2013 +0200 Committer: Marcus Eriksson <marc...@spotify.com> Committed: Sat Oct 19 08:50:53 2013 +0200 ---------------------------------------------------------------------- .../io/compress/CompressedSequentialWriter.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/232906d7/src/java/org/apache/cassandra/io/compress/CompressedSequentialWriter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/io/compress/CompressedSequentialWriter.java b/src/java/org/apache/cassandra/io/compress/CompressedSequentialWriter.java index da4307e..54b990f 100644 --- a/src/java/org/apache/cassandra/io/compress/CompressedSequentialWriter.java +++ b/src/java/org/apache/cassandra/io/compress/CompressedSequentialWriter.java @@ -21,6 +21,7 @@ import java.io.EOFException; import java.io.File; import java.io.IOException; import java.util.zip.Adler32; +import java.util.zip.CRC32; import java.util.zip.Checksum; import org.apache.cassandra.io.FSReadError; @@ -192,6 +193,17 @@ public class CompressedSequentialWriter extends SequentialWriter { out.seek(chunkOffset); out.readFully(compressed.buffer, 0, chunkSize); + + try + { + // repopulate buffer + compressor.uncompress(compressed.buffer, 0, chunkSize, buffer, 0); + } + catch (IOException e) + { + throw new CorruptBlockException(getPath(), chunkOffset, chunkSize); + } + checksum.update(compressed.buffer, 0, chunkSize); if (out.readInt() != (int) checksum.getValue())