This is an automated email from the ASF dual-hosted git repository.
nicholasjiang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/celeborn.git
The following commit(s) were added to refs/heads/main by this push:
new dca37496c [CELEBORN-2218] Bump lz4-java version from 1.8.0 to 1.10.4
to resolve CVE‐2025‐12183 and CVE-2025-66566
dca37496c is described below
commit dca37496ce59bd67526548957d2f607af8eee6cc
Author: SteNicholas <[email protected]>
AuthorDate: Tue Mar 3 11:24:45 2026 +0800
[CELEBORN-2218] Bump lz4-java version from 1.8.0 to 1.10.4 to resolve
CVE‐2025‐12183 and CVE-2025-66566
### What changes were proposed in this pull request?
- Bump lz4-java version from 1.8.0 to 1.10.4 to resolve CVE‐2025‐12183 and
CVE-2025-66566.
- `Lz4Decompressor` follows the
[suggestion](https://github.com/apache/spark/pull/53290#issuecomment-3607045004)
to move from `fastDecompressor` to `safeDecompressor` to mitigate the
performance.
Backport:
- https://github.com/apache/spark/pull/53327
- https://github.com/apache/spark/pull/53347
- https://github.com/apache/spark/pull/53971
- https://github.com/apache/spark/pull/53454
- https://github.com/apache/spark/pull/54585
### Why are the changes needed?
-
[CVE‐2025‐12183](https://sites.google.com/sonatype.com/vulnerabilities/cve-2025-12183):
Various lz4-java compression and decompression implementations do not guard
against out-of-bounds memory access. Untrusted input may lead to denial of
service and information disclosure. Vulnerable Maven coordinates:
org.lz4:lz4-java up to and including 1.8.0.
- [CVE-2025-66566](https://github.com/advisories/GHSA-cmp6-m4wj-q63q):
Insufficient clearing of the output buffer in Java-based decompressor
implementations in lz4-java 1.10.0 and earlier allows remote attackers to read
previous buffer contents via crafted compressed input. In applications where
the output buffer is reused without being cleared, this may lead to disclosure
of sensitive data. JNI-based implementations are not affected.
Therefore, lz4-java version should upgrade to 1.10.4.
### Does this PR resolve a correctness bug?
No.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
CI.
Closes #3555 from SteNicholas/CELEBORN-2218.
Lead-authored-by: SteNicholas <[email protected]>
Co-authored-by: Cheng Pan <[email protected]>
Signed-off-by: SteNicholas <[email protected]>
---
client-mr/mr-shaded/pom.xml | 6 +++---
client-mr/mr-shaded/src/main/resources/META-INF/LICENSE | 2 +-
client-tez/tez-shaded/pom.xml | 2 +-
.../tez-shaded/src/main/resources/META-INF/LICENSE | 2 +-
.../benchmarks/LZ4TPCDSDataBenchmark-jdk17-results.txt | 16 ++++++++--------
client/pom.xml | 2 +-
.../apache/celeborn/client/compress/Lz4Decompressor.java | 16 ++++++++--------
dev/deps/dependencies-client-flink-1.16 | 2 +-
dev/deps/dependencies-client-flink-1.17 | 2 +-
dev/deps/dependencies-client-flink-1.18 | 2 +-
dev/deps/dependencies-client-flink-1.19 | 2 +-
dev/deps/dependencies-client-flink-1.20 | 2 +-
dev/deps/dependencies-client-flink-2.0 | 2 +-
dev/deps/dependencies-client-flink-2.1 | 2 +-
dev/deps/dependencies-client-flink-2.2 | 2 +-
dev/deps/dependencies-client-mr | 2 +-
dev/deps/dependencies-client-tez | 2 +-
dev/deps/dependencies-server | 2 +-
pom.xml | 14 ++++++++++++--
project/CelebornBuild.scala | 6 ++++--
20 files changed, 50 insertions(+), 38 deletions(-)
diff --git a/client-mr/mr-shaded/pom.xml b/client-mr/mr-shaded/pom.xml
index 2ffa40e1a..0f9052f1f 100644
--- a/client-mr/mr-shaded/pom.xml
+++ b/client-mr/mr-shaded/pom.xml
@@ -64,8 +64,8 @@
<shadedPattern>${shading.prefix}.org.scala-lang</shadedPattern>
</relocation>
<relocation>
- <pattern>org.lz4</pattern>
- <shadedPattern>${shading.prefix}.org.lz4</shadedPattern>
+ <pattern>${lz4-java.group}</pattern>
+
<shadedPattern>${shading.prefix}.${lz4-java.group}</shadedPattern>
</relocation>
<relocation>
<pattern>org.roaringbitmap</pattern>
@@ -81,7 +81,7 @@
<include>io.netty:*</include>
<include>org.apache.commons:commons-lang3</include>
<include>org.scala-lang:scala-library</include>
- <include>org.lz4:lz4-java</include>
+ <include>${lz4-java.group}:lz4-java</include>
<include>com.github.luben:zstd-jni</include>
<include>org.roaringbitmap:RoaringBitmap</include>
</includes>
diff --git a/client-mr/mr-shaded/src/main/resources/META-INF/LICENSE
b/client-mr/mr-shaded/src/main/resources/META-INF/LICENSE
index ec665dcc8..7435dd2e5 100644
--- a/client-mr/mr-shaded/src/main/resources/META-INF/LICENSE
+++ b/client-mr/mr-shaded/src/main/resources/META-INF/LICENSE
@@ -208,6 +208,7 @@ This project bundles the following dependencies under the
Apache License 2.0 (ht
Apache License 2.0
--------------------------------------
+at.yawk.lz4:lz4-java
com.google.guava:failureaccess
com.google.guava:guava
io.netty:netty
@@ -240,7 +241,6 @@ io.netty:netty-transport-rxtx
io.netty:netty-transport-sctp
io.netty:netty-transport-udt
org.apache.commons:commons-lang3
-org.lz4:lz4-java
org.roaringbitmap:RoaringBitmap
org.scala-lang:scala-library
diff --git a/client-tez/tez-shaded/pom.xml b/client-tez/tez-shaded/pom.xml
index e8060d95a..73bb78371 100644
--- a/client-tez/tez-shaded/pom.xml
+++ b/client-tez/tez-shaded/pom.xml
@@ -94,7 +94,7 @@
<include>org.roaringbitmap:RoaringBitmap</include>
<include>org.scala-lang:scala-library</include>
<include>org.scala-lang:scala-reflect</include>
- <include>org.lz4:lz4-java</include>
+ <include>${lz4-java.group}:lz4-java</include>
<include>io.dropwizard.metrics:metrics-core</include>
<include>com.codahale.metrics:metrics-core</include>
<include>com.github.luben:zstd-jni</include>
diff --git a/client-tez/tez-shaded/src/main/resources/META-INF/LICENSE
b/client-tez/tez-shaded/src/main/resources/META-INF/LICENSE
index ec665dcc8..7435dd2e5 100644
--- a/client-tez/tez-shaded/src/main/resources/META-INF/LICENSE
+++ b/client-tez/tez-shaded/src/main/resources/META-INF/LICENSE
@@ -208,6 +208,7 @@ This project bundles the following dependencies under the
Apache License 2.0 (ht
Apache License 2.0
--------------------------------------
+at.yawk.lz4:lz4-java
com.google.guava:failureaccess
com.google.guava:guava
io.netty:netty
@@ -240,7 +241,6 @@ io.netty:netty-transport-rxtx
io.netty:netty-transport-sctp
io.netty:netty-transport-udt
org.apache.commons:commons-lang3
-org.lz4:lz4-java
org.roaringbitmap:RoaringBitmap
org.scala-lang:scala-library
diff --git a/client/benchmarks/LZ4TPCDSDataBenchmark-jdk17-results.txt
b/client/benchmarks/LZ4TPCDSDataBenchmark-jdk17-results.txt
index a6ce37aba..1ae36bb16 100644
--- a/client/benchmarks/LZ4TPCDSDataBenchmark-jdk17-results.txt
+++ b/client/benchmarks/LZ4TPCDSDataBenchmark-jdk17-results.txt
@@ -6,48 +6,48 @@ OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux
6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Compression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
-------------------------------------------------------------------------------------------------------------------------
-Compression with chunk size 65536 4 times 2131 2134
5 0.0 532707902.0 1.0X
+Compression with chunk size 65536 4 times 2193 2210
24 0.0 548315522.5 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Decompression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
---------------------------------------------------------------------------------------------------------------------------
-Decompression with chunk size 65536 4 times 536 541
9 0.0 133951799.0 1.0X
+Decompression with chunk size 65536 4 times 460 463
3 0.0 114986376.3 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Compression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
--------------------------------------------------------------------------------------------------------------------------
-Compression with chunk size 262144 4 times 1754 1756
2 0.0 438523185.2 1.0X
+Compression with chunk size 262144 4 times 1683 1683
0 0.0 420711475.3 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Decompression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
----------------------------------------------------------------------------------------------------------------------------
-Decompression with chunk size 262144 4 times 436 439
4 0.0 109013659.0 1.0X
+Decompression with chunk size 262144 4 times 367 369
1 0.0 91804273.0 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Compression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
---------------------------------------------------------------------------------------------------------------------------
-Compression with chunk size 1048576 4 times 1774 1780
9 0.0 443426664.3 1.0X
+Compression with chunk size 1048576 4 times 1725 1726
3 0.0 431152298.8 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Decompression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
-----------------------------------------------------------------------------------------------------------------------------
-Decompression with chunk size 1048576 4 times 431 434
4 0.0 107823243.0 1.0X
+Decompression with chunk size 1048576 4 times 367 368
1 0.0 91743487.5 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Compression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
---------------------------------------------------------------------------------------------------------------------------
-Compression with chunk size 4194304 4 times 1785 1791
8 0.0 446360006.8 1.0X
+Compression with chunk size 4194304 4 times 1697 1702
7 0.0 424249326.5 1.0X
OpenJDK 64-Bit Server VM 17.0.15+6-LTS on Linux 6.17.9-76061709-generic
Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz
Decompression: Best Time(ms) Avg Time(ms)
Stdev(ms) Rate(M/s) Per Row(ns) Relative
-----------------------------------------------------------------------------------------------------------------------------
-Decompression with chunk size 4194304 4 times 436 438
1 0.0 109117732.3 1.0X
+Decompression with chunk size 4194304 4 times 371 376
4 0.0 92720790.5 1.0X
diff --git a/client/pom.xml b/client/pom.xml
index 854258cd5..122418859 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -71,7 +71,7 @@
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>org.lz4</groupId>
+ <groupId>${lz4-java.group}</groupId>
<artifactId>lz4-java</artifactId>
</dependency>
<dependency>
diff --git
a/client/src/main/java/org/apache/celeborn/client/compress/Lz4Decompressor.java
b/client/src/main/java/org/apache/celeborn/client/compress/Lz4Decompressor.java
index 8a538ef34..a579c0122 100644
---
a/client/src/main/java/org/apache/celeborn/client/compress/Lz4Decompressor.java
+++
b/client/src/main/java/org/apache/celeborn/client/compress/Lz4Decompressor.java
@@ -26,7 +26,7 @@ import scala.Option;
import com.google.common.collect.ImmutableMap;
import net.jpountz.lz4.LZ4Factory;
-import net.jpountz.lz4.LZ4FastDecompressor;
+import net.jpountz.lz4.LZ4SafeDecompressor;
import net.jpountz.xxhash.XXHashFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
public class Lz4Decompressor extends Lz4Trait implements Decompressor {
private static final Logger logger =
LoggerFactory.getLogger(Lz4Decompressor.class);
- private final LZ4FastDecompressor decompressor;
+ private final LZ4SafeDecompressor decompressor;
private final Checksum checksum;
private final Map<String, Supplier<XXHashFactory>> xxHashFactories =
@@ -47,7 +47,7 @@ public class Lz4Decompressor extends Lz4Trait implements
Decompressor {
XXHashFactory::unsafeInstance);
public Lz4Decompressor(Option<String> xxHashInstance) {
- decompressor = LZ4Factory.fastestInstance().fastDecompressor();
+ decompressor = LZ4Factory.fastestInstance().safeDecompressor();
checksum =
getXXHashFactory(xxHashInstance).newStreamingHash32(DEFAULT_SEED).asChecksum();
}
@@ -68,13 +68,13 @@ public class Lz4Decompressor extends Lz4Trait implements
Decompressor {
System.arraycopy(src, HEADER_LENGTH, dst, dstOff, originalLen);
break;
case COMPRESSION_METHOD_LZ4:
- int compressedLen2 = decompressor.decompress(src, HEADER_LENGTH, dst,
dstOff, originalLen);
- if (compressedLen != compressedLen2) {
+ int originalLen2 = decompressor.decompress(src, HEADER_LENGTH,
compressedLen, dst, dstOff);
+ if (originalLen != originalLen2) {
throw new IOException(
- "Compressed length corrupted! expected: "
- + compressedLen
+ "Original length corrupted! expected: "
+ + originalLen
+ ", actual: "
- + compressedLen2
+ + originalLen2
+ ".");
}
}
diff --git a/dev/deps/dependencies-client-flink-1.16
b/dev/deps/dependencies-client-flink-1.16
index a35adf79a..d2604d91b 100644
--- a/dev/deps/dependencies-client-flink-1.16
+++ b/dev/deps/dependencies-client-flink-1.16
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-1.17
b/dev/deps/dependencies-client-flink-1.17
index a35adf79a..d2604d91b 100644
--- a/dev/deps/dependencies-client-flink-1.17
+++ b/dev/deps/dependencies-client-flink-1.17
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-1.18
b/dev/deps/dependencies-client-flink-1.18
index a35adf79a..d2604d91b 100644
--- a/dev/deps/dependencies-client-flink-1.18
+++ b/dev/deps/dependencies-client-flink-1.18
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-1.19
b/dev/deps/dependencies-client-flink-1.19
index a35adf79a..d2604d91b 100644
--- a/dev/deps/dependencies-client-flink-1.19
+++ b/dev/deps/dependencies-client-flink-1.19
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-1.20
b/dev/deps/dependencies-client-flink-1.20
index a35adf79a..d2604d91b 100644
--- a/dev/deps/dependencies-client-flink-1.20
+++ b/dev/deps/dependencies-client-flink-1.20
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-2.0
b/dev/deps/dependencies-client-flink-2.0
index 3ae0c7811..b06979be8 100644
--- a/dev/deps/dependencies-client-flink-2.0
+++ b/dev/deps/dependencies-client-flink-2.0
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
metrics-jvm/4.2.25//metrics-jvm-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-2.1
b/dev/deps/dependencies-client-flink-2.1
index 3ae0c7811..b06979be8 100644
--- a/dev/deps/dependencies-client-flink-2.1
+++ b/dev/deps/dependencies-client-flink-2.1
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
metrics-jvm/4.2.25//metrics-jvm-4.2.25.jar
diff --git a/dev/deps/dependencies-client-flink-2.2
b/dev/deps/dependencies-client-flink-2.2
index 3ae0c7811..b06979be8 100644
--- a/dev/deps/dependencies-client-flink-2.2
+++ b/dev/deps/dependencies-client-flink-2.2
@@ -32,7 +32,7 @@ jcl-over-slf4j/1.7.36//jcl-over-slf4j-1.7.36.jar
jsr305/1.3.9//jsr305-1.3.9.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
metrics-jvm/4.2.25//metrics-jvm-4.2.25.jar
diff --git a/dev/deps/dependencies-client-mr b/dev/deps/dependencies-client-mr
index 62339262e..82919c080 100644
--- a/dev/deps/dependencies-client-mr
+++ b/dev/deps/dependencies-client-mr
@@ -134,7 +134,7 @@ kerby-xdr/1.0.1//kerby-xdr-1.0.1.jar
kotlin-stdlib-common/1.4.10//kotlin-stdlib-common-1.4.10.jar
kotlin-stdlib/1.4.10//kotlin-stdlib-1.4.10.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-client-tez b/dev/deps/dependencies-client-tez
index a5b82c7f3..9d73b59b5 100644
--- a/dev/deps/dependencies-client-tez
+++ b/dev/deps/dependencies-client-tez
@@ -107,7 +107,7 @@ kerby-util/1.0.1//kerby-util-1.0.1.jar
kerby-xdr/1.0.1//kerby-xdr-1.0.1.jar
leveldbjni-all/1.8//leveldbjni-all-1.8.jar
log4j/1.2.17//log4j-1.2.17.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/dev/deps/dependencies-server b/dev/deps/dependencies-server
index e8d7f2e41..301ad077b 100644
--- a/dev/deps/dependencies-server
+++ b/dev/deps/dependencies-server
@@ -79,7 +79,7 @@ log4j-1.2-api/2.24.3//log4j-1.2-api-2.24.3.jar
log4j-api/2.24.3//log4j-api-2.24.3.jar
log4j-core/2.24.3//log4j-core-2.24.3.jar
log4j-slf4j-impl/2.24.3//log4j-slf4j-impl-2.24.3.jar
-lz4-java/1.8.0//lz4-java-1.8.0.jar
+lz4-java/1.10.4//lz4-java-1.10.4.jar
maven-jdk-tools-wrapper/0.1//maven-jdk-tools-wrapper-0.1.jar
metrics-core/4.2.25//metrics-core-4.2.25.jar
metrics-graphite/4.2.25//metrics-graphite-4.2.25.jar
diff --git a/pom.xml b/pom.xml
index c17f70c0a..8fca6aa0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,8 @@
<leveldb.version>1.8</leveldb.version>
<log4j2.version>2.24.3</log4j2.version>
<disruptor.version>3.4.4</disruptor.version>
- <lz4-java.version>1.8.0</lz4-java.version>
+ <lz4-java.group>at.yawk.lz4</lz4-java.group>
+ <lz4-java.version>1.10.4</lz4-java.version>
<mockito.version>4.11.0</mockito.version>
<mockito-scalatest.version>1.17.14</mockito-scalatest.version>
<netty.version>4.2.10.Final</netty.version>
@@ -527,7 +528,7 @@
<version>${leveldb.version}</version>
</dependency>
<dependency>
- <groupId>org.lz4</groupId>
+ <groupId>${lz4-java.group}</groupId>
<artifactId>lz4-java</artifactId>
<version>${lz4-java.version}</version>
</dependency>
@@ -1530,6 +1531,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.4.0</lz4-java.version>
<scala.version>2.11.12</scala.version>
<scala.binary.version>2.11</scala.binary.version>
@@ -1549,6 +1551,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.7.1</lz4-java.version>
<scala.version>2.12.10</scala.version>
<scala.binary.version>2.12</scala.binary.version>
@@ -1569,6 +1572,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.7.1</lz4-java.version>
<scala.version>2.12.10</scala.version>
<scala.binary.version>2.12</scala.binary.version>
@@ -1589,6 +1593,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.7.1</lz4-java.version>
<scala.version>2.12.15</scala.version>
<scala.binary.version>2.12</scala.binary.version>
@@ -1608,6 +1613,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.8.0</lz4-java.version>
<scala.version>2.12.15</scala.version>
<scala.binary.version>2.12</scala.binary.version>
@@ -1627,6 +1633,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.8.0</lz4-java.version>
<scala.version>2.12.17</scala.version>
<scala.binary.version>2.12</scala.binary.version>
@@ -1646,6 +1653,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.8.0</lz4-java.version>
<scala.version>2.12.18</scala.version>
<scala.binary.version>2.12</scala.binary.version>
@@ -1665,6 +1673,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.8.0</lz4-java.version>
<scala.version>2.13.16</scala.version>
<scala.binary.version>2.13</scala.binary.version>
@@ -1684,6 +1693,7 @@
<module>tests/spark-it</module>
</modules>
<properties>
+ <lz4-java.group>org.lz4</lz4-java.group>
<lz4-java.version>1.8.0</lz4-java.version>
<scala.version>2.13.17</scala.version>
<scala.binary.version>2.13</scala.binary.version>
diff --git a/project/CelebornBuild.scala b/project/CelebornBuild.scala
index 5eed99615..259a8ae8c 100644
--- a/project/CelebornBuild.scala
+++ b/project/CelebornBuild.scala
@@ -38,7 +38,8 @@ import CelebornCommonSettings._
object Dependencies {
val zstdJniVersion =
sparkClientProjects.map(_.zstdJniVersion).getOrElse("1.5.7-1")
- val lz4JavaVersion =
sparkClientProjects.map(_.lz4JavaVersion).getOrElse("1.8.0")
+ val lz4JavaGroup =
sparkClientProjects.map(_.lz4JavaGroup).getOrElse("at.yawk.lz4")
+ val lz4JavaVersion =
sparkClientProjects.map(_.lz4JavaVersion).getOrElse("1.10.4")
// Dependent library versions
val apLoaderVersion = "4.0-10"
@@ -176,7 +177,7 @@ object Dependencies {
val log4j12Api = "org.apache.logging.log4j" % "log4j-1.2-api" % log4j2Version
val log4jSlf4jImpl = "org.apache.logging.log4j" % "log4j-slf4j-impl" %
log4j2Version
val disruptor = "com.lmax" % "disruptor" % disruptorVersion
- val lz4Java = "org.lz4" % "lz4-java" % lz4JavaVersion
+ val lz4Java = lz4JavaGroup % "lz4-java" % lz4JavaVersion
val protobufJava = "com.google.protobuf" % "protobuf-java" % protoVersion
val ratisClient = "org.apache.ratis" % "ratis-client" % ratisVersion
val ratisCommon = "org.apache.ratis" % "ratis-common" % ratisVersion
@@ -1017,6 +1018,7 @@ trait SparkClientProjects {
val sparkClientShadedProjectPath: String
val sparkClientShadedProjectName: String
+ val lz4JavaGroup: String = "org.lz4"
val lz4JavaVersion: String
val sparkProjectScalaVersion: String
val sparkVersion: String