From f2230b7f9b415db75ca67e596b87d904ab74eed3 Mon Sep 17 00:00:00 2001 From: Nuno Faria Date: Sat, 13 Sep 2025 22:45:43 +0100 Subject: [PATCH] fix: Ensure the CachedParquetFileReader respects the metadata prefetch hint (#17302) --- datafusion/datasource-parquet/src/reader.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/datafusion/datasource-parquet/src/reader.rs b/datafusion/datasource-parquet/src/reader.rs index 9d2c52f721ba9..d0c008ad35cf7 100644 --- a/datafusion/datasource-parquet/src/reader.rs +++ b/datafusion/datasource-parquet/src/reader.rs @@ -209,6 +209,7 @@ impl ParquetFileReaderFactory for CachedParquetFileReaderFactory { file_metrics, file_meta, metadata_cache: Arc::clone(&self.metadata_cache), + metadata_size_hint, })) } } @@ -222,6 +223,7 @@ pub struct CachedParquetFileReader { pub inner: ParquetObjectReader, file_meta: FileMeta, metadata_cache: Arc, + metadata_size_hint: Option, } impl AsyncFileReader for CachedParquetFileReader { @@ -261,11 +263,10 @@ impl AsyncFileReader for CachedParquetFileReader { #[cfg(not(feature = "parquet_encryption"))] let file_decryption_properties = None; - // TODO there should be metadata prefetch hint here - // https://github.com/apache/datafusion/issues/17279 DFParquetMetadata::new(&self.store, &file_meta.object_meta) .with_decryption_properties(file_decryption_properties) .with_file_metadata_cache(Some(Arc::clone(&metadata_cache))) + .with_metadata_size_hint(self.metadata_size_hint) .fetch_metadata() .await .map_err(|e| {