From be53471aa371ba6e8e1ac921dba2db18ac270f39 Mon Sep 17 00:00:00 2001 From: mulugetam Date: Fri, 15 Mar 2024 08:56:42 -0700 Subject: [PATCH] Remove unneccessary ArrayUtil.grow in Zstd compression modes. (#121) Signed-off-by: Mulugeta Mammo --- .../index/codec/customcodecs/ZstdCompressionMode.java | 1 - .../index/codec/customcodecs/ZstdNoDictCompressionMode.java | 6 +----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/org/opensearch/index/codec/customcodecs/ZstdCompressionMode.java b/src/main/java/org/opensearch/index/codec/customcodecs/ZstdCompressionMode.java index 05ff725..1314221 100644 --- a/src/main/java/org/opensearch/index/codec/customcodecs/ZstdCompressionMode.java +++ b/src/main/java/org/opensearch/index/codec/customcodecs/ZstdCompressionMode.java @@ -188,7 +188,6 @@ public void decompress(DataInput in, int originalLength, int offset, int length, // Read blocks that intersect with the interval we need while (offsetInBlock < offset + length) { - bytes.bytes = ArrayUtil.grow(bytes.bytes, bytes.length + blockLength); int l = Math.min(blockLength, originalLength - offsetInBlock); doDecompress(in, dctx, bytes, l); offsetInBlock += blockLength; diff --git a/src/main/java/org/opensearch/index/codec/customcodecs/ZstdNoDictCompressionMode.java b/src/main/java/org/opensearch/index/codec/customcodecs/ZstdNoDictCompressionMode.java index af4e92b..eabf4c7 100644 --- a/src/main/java/org/opensearch/index/codec/customcodecs/ZstdNoDictCompressionMode.java +++ b/src/main/java/org/opensearch/index/codec/customcodecs/ZstdNoDictCompressionMode.java @@ -148,7 +148,6 @@ public void decompress(DataInput in, int originalLength, int offset, int length, // Read blocks that intersect with the interval we need while (offsetInBlock < offset + length) { - bytes.bytes = ArrayUtil.grow(bytes.bytes, bytes.length + blockLength); final int compressedLength = in.readVInt(); if (compressedLength == 0) { return; @@ -159,10 +158,7 @@ public void decompress(DataInput in, int originalLength, int offset, int length, int l = Math.min(blockLength, originalLength - offsetInBlock); bytes.bytes = ArrayUtil.grow(bytes.bytes, bytes.length + l); - byte[] output = new byte[l]; - - final int uncompressed = (int) Zstd.decompressByteArray(output, 0, l, compressed, 0, compressedLength); - System.arraycopy(output, 0, bytes.bytes, bytes.length, uncompressed); + final int uncompressed = (int) Zstd.decompressByteArray(bytes.bytes, bytes.length, l, compressed, 0, compressedLength); bytes.length += uncompressed; offsetInBlock += blockLength;