From ce8533d06f7286a320b6687fa49aba6c78e78635 Mon Sep 17 00:00:00 2001 From: Alexey Roytman Date: Thu, 16 Apr 2026 09:08:11 +0000 Subject: [PATCH 1/2] parquet-hadoop tests to work behind a web proxy --- .../apache/parquet/hadoop/InterOpTester.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java index 2618fcb219..3955a0d883 100644 --- a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java +++ b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java @@ -20,6 +20,8 @@ package org.apache.parquet.hadoop; import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.Proxy; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -34,7 +36,24 @@ public class InterOpTester { private static final String PARQUET_TESTING_REPO = "https://github.com/apache/parquet-testing/raw/"; private static final String PARQUET_TESTING_PATH = "target/parquet-testing/"; private static final Logger LOG = LoggerFactory.getLogger(InterOpTester.class); - private OkHttpClient httpClient = new OkHttpClient(); + // since PARQUET_TESTING_REPO might be beyond a web proxy ... + private static OkHttpClient createOkHttpClientOptProxy() { + String proxyHost = System.getProperty("https.proxyHost"); + String proxyPort = System.getProperty("https.proxyPort"); + OkHttpClient client = null; + if (proxyHost != null || proxyPort != null) { + try { + int port = Integer.valueOf(proxyPort); + Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, port)); + client = new OkHttpClient.Builder().proxy(proxy).build(); + } catch (NumberFormatException e) { + } + } + if (client == null) client = new OkHttpClient(); + return client; + } + + private OkHttpClient httpClient = createOkHttpClientOptProxy(); public Path GetInterOpFile(String fileName, String changeset) throws IOException { return GetInterOpFile(fileName, changeset, "data"); From b34da591dc9f1def44d0fcaf8409042f762e5e30 Mon Sep 17 00:00:00 2001 From: Alexey Roytman Date: Thu, 16 Apr 2026 20:36:54 +0000 Subject: [PATCH 2/2] parquet-hadoop to use separate JVM propertied not to clash with existing CI --- .../java/org/apache/parquet/hadoop/InterOpTester.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java index 3955a0d883..d8e276d7c7 100644 --- a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java +++ b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java @@ -38,8 +38,14 @@ public class InterOpTester { private static final Logger LOG = LoggerFactory.getLogger(InterOpTester.class); // since PARQUET_TESTING_REPO might be beyond a web proxy ... private static OkHttpClient createOkHttpClientOptProxy() { - String proxyHost = System.getProperty("https.proxyHost"); - String proxyPort = System.getProperty("https.proxyPort"); + /* We use a different JVM property set, + * because CI may define JVM properties + * "https.proxyHost" and "https.proxyPort" + * and that proxy won't support some compressions + * (e.g. gzip/snappy on github.com CI). + / + String proxyHost = System.getProperty("parquet.https.proxyHost"); + String proxyPort = System.getProperty("parquet.https.proxyPort"); OkHttpClient client = null; if (proxyHost != null || proxyPort != null) { try {