From 8237cdfd2277bf5ed4d95229a28b30493001f8a6 Mon Sep 17 00:00:00 2001 From: Bryan Keller Date: Tue, 18 Feb 2025 23:59:52 -0800 Subject: [PATCH] Parquet: Fix performance regression in reader init (#12305) --- .../src/main/java/org/apache/iceberg/parquet/Parquet.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java b/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java index 310435209bac..2c37a52449e5 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java @@ -106,6 +106,7 @@ import org.apache.parquet.avro.AvroWriteSupport; import org.apache.parquet.column.ParquetProperties; import org.apache.parquet.column.ParquetProperties.WriterVersion; +import org.apache.parquet.conf.PlainParquetConfiguration; import org.apache.parquet.crypto.FileDecryptionProperties; import org.apache.parquet.crypto.FileEncryptionProperties; import org.apache.parquet.hadoop.ParquetFileReader; @@ -1206,7 +1207,7 @@ public CloseableIterable build() { } optionsBuilder = HadoopReadOptions.builder(conf); } else { - optionsBuilder = ParquetReadOptions.builder(); + optionsBuilder = ParquetReadOptions.builder(new PlainParquetConfiguration()); } for (Map.Entry entry : properties.entrySet()) { @@ -1275,7 +1276,9 @@ public CloseableIterable build() { // TODO: should not need to get the schema to push down before opening the file. // Parquet should allow setting a filter inside its read support ParquetReadOptions decryptOptions = - ParquetReadOptions.builder().withDecryption(fileDecryptionProperties).build(); + ParquetReadOptions.builder(new PlainParquetConfiguration()) + .withDecryption(fileDecryptionProperties) + .build(); MessageType type; try (ParquetFileReader schemaReader = ParquetFileReader.open(ParquetIO.file(file), decryptOptions)) {