[SPARK-55803][BUILD] Bump lz4-java 1.10.4 to bring back performance#54585
Closed
pan3793 wants to merge 4 commits intoapache:masterfrom
Closed
[SPARK-55803][BUILD] Bump lz4-java 1.10.4 to bring back performance#54585pan3793 wants to merge 4 commits intoapache:masterfrom
pan3793 wants to merge 4 commits intoapache:masterfrom
Conversation
…17, Scala 2.13, split 1 of 1)
…21, Scala 2.13, split 1 of 1)
…25, Scala 2.13, split 1 of 1)
Member
Author
|
lz4 performance back! thanks @yawkat for addressing the perf regression! cc @Yicong-Huang @dongjoon-hyun @viirya @LuciferYang @HyukjinKwon |
4 tasks
dongjoon-hyun
approved these changes
Mar 3, 2026
viirya
approved these changes
Mar 3, 2026
Member
Author
|
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 <[email protected]> Co-authored-by: Cheng Pan <[email protected]> Signed-off-by: SteNicholas <[email protected]>
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 <[email protected]> Co-authored-by: Cheng Pan <[email protected]> Signed-off-by: SteNicholas <[email protected]> (cherry picked from commit dca3749) Signed-off-by: SteNicholas <[email protected]>
Contributor
|
late LGTM |
pan3793
added a commit
to pan3793/iceberg
that referenced
this pull request
Mar 5, 2026
Iceberg switched to `at.yawk.lz4:lz4-java` group for security reasons, but it unintentionally introduced performance regression. 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. See the benchmark reports in Celeborn and Spark projects - CELEBORN-2218 / apache/celeborn#3555 - SPARK-55803 / apache/spark#54585
pan3793
added a commit
to pan3793/trino
that referenced
this pull request
Mar 5, 2026
Trino switched to `at.yawk.lz4:lz4-java` group for security reasons, but it unintentionally introduced performance regression. 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. See the benchmark reports in Celeborn and Spark projects - CELEBORN-2218 / apache/celeborn#3555 - SPARK-55803 / apache/spark#54585
electrum
pushed a commit
to trinodb/trino
that referenced
this pull request
Mar 5, 2026
Trino switched to `at.yawk.lz4:lz4-java` group for security reasons, but it unintentionally introduced performance regression. 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. See the benchmark reports in Celeborn and Spark projects - CELEBORN-2218 / apache/celeborn#3555 - SPARK-55803 / apache/spark#54585
pan3793
added a commit
to pan3793/clickhouse-java
that referenced
this pull request
Mar 5, 2026
ClickHouse Java Client switched to `at.yawk.lz4:lz4-java` for security reasons, but it unintentionally introduced performance regression. 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. See the benchmark reports in Apache Celeborn and Apache Spark projects - CELEBORN-2218 / apache/celeborn#3555 - SPARK-55803 / apache/spark#54585
This was referenced Mar 5, 2026
huaxingao
pushed a commit
to apache/iceberg
that referenced
this pull request
Mar 6, 2026
Iceberg switched to `at.yawk.lz4:lz4-java` group for security reasons, but it unintentionally introduced performance regression. 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. See the benchmark reports in Celeborn and Spark projects - CELEBORN-2218 / apache/celeborn#3555 - SPARK-55803 / apache/spark#54585
senthh
pushed a commit
to acceldata-io/spark3
that referenced
this pull request
Mar 9, 2026
…formance ### 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. Closes apache#54585 from pan3793/SPARK-55803. Lead-authored-by: Cheng Pan <[email protected]> Co-authored-by: pan3793 <[email protected]> Signed-off-by: Cheng Pan <[email protected]> (cherry picked from commit 0774ba0)
RjLi13
pushed a commit
to RjLi13/iceberg
that referenced
this pull request
Mar 12, 2026
Iceberg switched to `at.yawk.lz4:lz4-java` group for security reasons, but it unintentionally introduced performance regression. 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. See the benchmark reports in Celeborn and Spark projects - CELEBORN-2218 / apache/celeborn#3555 - SPARK-55803 / apache/spark#54585
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
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.