This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 310e647162 [core] Upgrade LZ4 dependency to 1.8.1 (#6737)
310e647162 is described below
commit 310e6471620fed06b2819ffd6ef0180dbb1f3902
Author: Jingsong Lee <[email protected]>
AuthorDate: Fri Dec 5 14:51:17 2025 +0800
[core] Upgrade LZ4 dependency to 1.8.1 (#6737)
---
.../org/apache/paimon/compression/Lz4BlockDecompressor.java | 13 +++++++------
pom.xml | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git
a/paimon-common/src/main/java/org/apache/paimon/compression/Lz4BlockDecompressor.java
b/paimon-common/src/main/java/org/apache/paimon/compression/Lz4BlockDecompressor.java
index d707276e24..518f280519 100644
---
a/paimon-common/src/main/java/org/apache/paimon/compression/Lz4BlockDecompressor.java
+++
b/paimon-common/src/main/java/org/apache/paimon/compression/Lz4BlockDecompressor.java
@@ -20,7 +20,7 @@ package org.apache.paimon.compression;
import net.jpountz.lz4.LZ4Exception;
import net.jpountz.lz4.LZ4Factory;
-import net.jpountz.lz4.LZ4FastDecompressor;
+import net.jpountz.lz4.LZ4SafeDecompressor;
import static org.apache.paimon.compression.CompressorUtils.HEADER_LENGTH;
import static org.apache.paimon.compression.CompressorUtils.readIntLE;
@@ -34,10 +34,10 @@ import static
org.apache.paimon.compression.CompressorUtils.validateLength;
*/
public class Lz4BlockDecompressor implements BlockDecompressor {
- private final LZ4FastDecompressor decompressor;
+ private final LZ4SafeDecompressor decompressor;
public Lz4BlockDecompressor() {
- this.decompressor = LZ4Factory.fastestInstance().fastDecompressor();
+ this.decompressor = LZ4Factory.fastestInstance().safeDecompressor();
}
@Override
@@ -57,9 +57,10 @@ public class Lz4BlockDecompressor implements
BlockDecompressor {
}
try {
- final int compressedLen2 =
- decompressor.decompress(src, srcOff + HEADER_LENGTH, dst,
dstOff, originalLen);
- if (compressedLen != compressedLen2) {
+ final int originalLenByLz4 =
+ decompressor.decompress(
+ src, srcOff + HEADER_LENGTH, compressedLen, dst,
dstOff);
+ if (originalLen != originalLenByLz4) {
throw new BufferDecompressionException("Input is corrupted");
}
} catch (LZ4Exception e) {
diff --git a/pom.xml b/pom.xml
index 908375b41d..6a08bbea9b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -95,7 +95,7 @@ under the License.
<codegen.scala.version>${scala212.version}</codegen.scala.version>
<snappy.version>1.1.8.4</snappy.version>
<airlift.version>0.27</airlift.version>
- <lz4.version>1.8.0</lz4.version>
+ <lz4.version>1.8.1</lz4.version>
<slf4j.version>1.7.32</slf4j.version>
<log4j.version>2.17.1</log4j.version>
<junit4.version>4.13.2</junit4.version>