SnappyInputStream was sliding the window too early, leading to loss for long offsets
may be related to COMPRESS-358 Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/e4658ae2 Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/e4658ae2 Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/e4658ae2 Branch: refs/heads/master Commit: e4658ae28cf7204af2ddfa0abfc8f03c2026ba59 Parents: d9421dc Author: Stefan Bodewig <[email protected]> Authored: Mon Jan 9 15:28:13 2017 +0100 Committer: Stefan Bodewig <[email protected]> Committed: Mon Jan 9 15:28:13 2017 +0100 ---------------------------------------------------------------------- .../compress/compressors/snappy/SnappyCompressorInputStream.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-compress/blob/e4658ae2/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java b/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java index faeabff..a9bb94a 100644 --- a/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java +++ b/src/main/java/org/apache/commons/compress/compressors/snappy/SnappyCompressorInputStream.java @@ -140,7 +140,7 @@ public class SnappyCompressorInputStream extends CompressorInputStream { } System.arraycopy(decompressBuf, readIndex, b, off, readable); readIndex += readable; - if (readIndex > blockSize) { + if (readIndex > 2 * blockSize) { slideBuffer(); } return readable;
