From ce8533d06f7286a320b6687fa49aba6c78e78635 Mon Sep 17 00:00:00 2001 From: Alexey Roytman Date: Thu, 16 Apr 2026 09:08:11 +0000 Subject: [PATCH 1/4] 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/4] 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 { From cbae73c39d95a302bedea52a6b6804aefff6cade Mon Sep 17 00:00:00 2001 From: Alexey Roytman Date: Fri, 17 Apr 2026 06:49:48 +0000 Subject: [PATCH 3/4] syntax fix --- .../src/test/java/org/apache/parquet/hadoop/InterOpTester.java | 2 +- 1 file changed, 1 insertion(+), 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 d8e276d7c7..273d6ace1d 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 @@ -43,7 +43,7 @@ private static OkHttpClient createOkHttpClientOptProxy() { * "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; From c12b04a9380ed815b6c3e1f5a3cf81b0308a7c5c Mon Sep 17 00:00:00 2001 From: Alexey Roytman Date: Fri, 17 Apr 2026 07:25:58 +0000 Subject: [PATCH 4/4] parquet-hadoop: another test provisioned to run behind a web proxy --- .../src/test/java/org/apache/parquet/hadoop/InterOpTester.java | 2 +- .../java/org/apache/parquet/hadoop/TestInteropBloomFilter.java | 2 +- 2 files changed, 2 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 273d6ace1d..b34109f635 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 @@ -37,7 +37,7 @@ public class InterOpTester { private static final String PARQUET_TESTING_PATH = "target/parquet-testing/"; private static final Logger LOG = LoggerFactory.getLogger(InterOpTester.class); // since PARQUET_TESTING_REPO might be beyond a web proxy ... - private static OkHttpClient createOkHttpClientOptProxy() { + public static OkHttpClient createOkHttpClientOptProxy() { /* We use a different JVM property set, * because CI may define JVM properties * "https.proxyHost" and "https.proxyPort" diff --git a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/TestInteropBloomFilter.java b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/TestInteropBloomFilter.java index 5b7ae6a851..66e86ce2b7 100644 --- a/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/TestInteropBloomFilter.java +++ b/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/TestInteropBloomFilter.java @@ -57,7 +57,7 @@ public class TestInteropBloomFilter { private static String DATA_INDEX_BLOOM_WITH_LENGTH_FILE = "data_index_bloom_encoding_with_length.parquet"; private static final Logger LOG = LoggerFactory.getLogger(TestInteropBloomFilter.class); - private OkHttpClient httpClient = new OkHttpClient(); + private OkHttpClient httpClient = InterOpTester.createOkHttpClientOptProxy(); @Test public void testReadDataIndexBloomParquetFiles() throws IOException {