Skip to content

[SPARK-55803][BUILD] Bump lz4-java 1.10.4 to bring back performance#54585

Closed
pan3793 wants to merge 4 commits intoapache:masterfrom
pan3793:SPARK-55803
Closed

[SPARK-55803][BUILD] Bump lz4-java 1.10.4 to bring back performance#54585
pan3793 wants to merge 4 commits intoapache:masterfrom
pan3793:SPARK-55803

Conversation

@pan3793
Copy link
Member

@pan3793 pan3793 commented Mar 3, 2026

What changes were proposed in this pull request?

Upgrade lz4-java 1.10.4 to bring performance back.

Why are the changes needed?

https://github.com/yawkat/lz4-java/releases/tag/v1.10.4

These changes attempt to fix the native performance regression in 1.9+. They should have no functional or security impact.

Does this PR introduce any user-facing change?

Performance regression has gone.

How was this patch tested?

Benchmark reports are updated

Was this patch authored or co-authored using generative AI tooling?

No.

@pan3793 pan3793 changed the title [SPARK-55803] Bump lz4-java 1.10.4 [SPARK-55803] Bump lz4-java 1.10.4 to bring back performance Mar 3, 2026
@pan3793 pan3793 marked this pull request as ready for review March 3, 2026 02:00
@pan3793
Copy link
Member Author

pan3793 commented Mar 3, 2026

lz4 performance back! thanks @yawkat for addressing the perf regression!

cc @Yicong-Huang @dongjoon-hyun @viirya @LuciferYang @HyukjinKwon

@pan3793 pan3793 changed the title [SPARK-55803] Bump lz4-java 1.10.4 to bring back performance [SPARK-55803][BUILD] Bump lz4-java 1.10.4 to bring back performance Mar 3, 2026
@pan3793 pan3793 closed this in 0774ba0 Mar 3, 2026
@pan3793
Copy link
Member Author

pan3793 commented Mar 3, 2026

thanks, merged to master for 4.2.0

SteNicholas added a commit to apache/celeborn that referenced this pull request Mar 3, 2026
… 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](apache/spark#53290 (comment)) to move from `fastDecompressor` to `safeDecompressor` to mitigate the performance.

Backport:

- apache/spark#53327
- apache/spark#53347
- apache/spark#53971
- apache/spark#53454
- apache/spark#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](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 <programgeek@163.com>
Co-authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: SteNicholas <programgeek@163.com>
SteNicholas added a commit to apache/celeborn that referenced this pull request Mar 3, 2026
… CVE‐2025‐12183 and CVE-2025-66566

- 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](apache/spark#53290 (comment)) to move from `fastDecompressor` to `safeDecompressor` to mitigate the performance.

Backport:

- apache/spark#53327
- apache/spark#53347
- apache/spark#53971
- apache/spark#53454
- apache/spark#54585

- [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](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.

No.

No.

CI.

Closes #3555 from SteNicholas/CELEBORN-2218.

Lead-authored-by: SteNicholas <programgeek@163.com>
Co-authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: SteNicholas <programgeek@163.com>
(cherry picked from commit dca3749)
Signed-off-by: SteNicholas <programgeek@163.com>
@LuciferYang
Copy link
Contributor

late LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants