diff --git a/datafusion/core/src/datasource/listing/helpers.rs b/datafusion/core/src/datasource/listing/helpers.rs index b9a79b3f9ba2..c09d6f4e0d86 100644 --- a/datafusion/core/src/datasource/listing/helpers.rs +++ b/datafusion/core/src/datasource/listing/helpers.rs @@ -380,6 +380,12 @@ pub async fn pruned_partition_list<'a>( partitions.len(), &list_path ); + if partitions.len() > 90 { + return Err(DataFusionError::Execution(format!( + "Excessive partition count due to unconstrainted filter: {}", + partitions.len() + ))); + } let pruned = prune_partitions(table_path, partitions, filters, partition_cols).await?;