fix: Java 8 compatibility for KMinSampling and benchmarks by james-willis · Pull Request #817 · graphframes/graphframes
added 2 commits
March 30, 2026 16:27…compat List.of() was added in Java 9 and breaks the release build on JDK 8 (Spark 3.5.x). Fixes graphframes#804.
james-willis
changed the title
fix: replace List.of with Collections.emptyList for Java 8 compat
fix: Java 8 compatibility for KMinSampling and benchmarks
LDBC test data downloads fail on JDK 8 due to Cloudflare TLS fingerprinting (JA3) rejecting Java 8's older TLS stack with 403. JDK 8 entry only needs to verify compilation; tests run on JDK 11/17.
… JDK 8 The LDBC CDN is behind Cloudflare, which uses TLS fingerprinting (JA3) to detect automated traffic. Java 8's TLS stack produces a distinctive fingerprint that Cloudflare rejects with HTTP 403. Java 11+ rewrote the TLS implementation (JEP 332) so its fingerprint is not flagged. Replace URLConnection with curl in both LDBCUtils and ParquetDataLoader. This is consistent with the existing use of shell commands (zstd, tar) in these files.
Per review: preserve the original download code so it can be restored after Spark 3.5.x EOL (~April 2026) when JDK 8 support is dropped.
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