diff --git a/src/datafusion/src/reader/plantime/source.rs b/src/datafusion/src/reader/plantime/source.rs index 6c193c3f..4efb9788 100644 --- a/src/datafusion/src/reader/plantime/source.rs +++ b/src/datafusion/src/reader/plantime/source.rs @@ -59,7 +59,11 @@ impl CachedMetaReaderFactory { ) -> ParquetMetadataCacheReader { let path = partitioned_file.object_meta.location.clone(); let store = Arc::clone(&self.store); - let mut inner = ParquetObjectReader::new(store, path.clone()); + // Pass file_size to take the size-aware metadata path; parquet 58.1's + // suffix fallback mislabels `remainder_start` as 0 and panics when + // loading page indexes. + let mut inner = ParquetObjectReader::new(store, path.clone()) + .with_file_size(partitioned_file.object_meta.size); if let Some(hint) = metadata_size_hint { inner = inner.with_footer_size_hint(hint);