Skip to content

Commit 1a31b79

Browse files
fix: Ensure the CachedParquetFileReader respects the metadata prefetch hint (apache#17302) (apache#17613)
Co-authored-by: Nuno Faria <nunofpfaria@gmail.com>
1 parent 891202a commit 1a31b79

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

datafusion/datasource-parquet/src/reader.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ impl ParquetFileReaderFactory for CachedParquetFileReaderFactory {
209209
file_metrics,
210210
file_meta,
211211
metadata_cache: Arc::clone(&self.metadata_cache),
212+
metadata_size_hint,
212213
}))
213214
}
214215
}
@@ -222,6 +223,7 @@ pub struct CachedParquetFileReader {
222223
pub inner: ParquetObjectReader,
223224
file_meta: FileMeta,
224225
metadata_cache: Arc<dyn FileMetadataCache>,
226+
metadata_size_hint: Option<usize>,
225227
}
226228

227229
impl AsyncFileReader for CachedParquetFileReader {
@@ -261,11 +263,10 @@ impl AsyncFileReader for CachedParquetFileReader {
261263
#[cfg(not(feature = "parquet_encryption"))]
262264
let file_decryption_properties = None;
263265

264-
// TODO there should be metadata prefetch hint here
265-
// https://github.com/apache/datafusion/issues/17279
266266
DFParquetMetadata::new(&self.store, &file_meta.object_meta)
267267
.with_decryption_properties(file_decryption_properties)
268268
.with_file_metadata_cache(Some(Arc::clone(&metadata_cache)))
269+
.with_metadata_size_hint(self.metadata_size_hint)
269270
.fetch_metadata()
270271
.await
271272
.map_err(|e| {

0 commit comments

Comments
 (0)