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>

Reply via email to