diff --git a/rust/datafusion/src/physical_plan/repartition.rs b/rust/datafusion/src/physical_plan/repartition.rs index 20e7122de12..edabfde27c4 100644 --- a/rust/datafusion/src/physical_plan/repartition.rs +++ b/rust/datafusion/src/physical_plan/repartition.rs @@ -125,7 +125,7 @@ impl ExecutionPlan for RepartitionExec { let input = self.input.clone(); let mut channels = channels.clone(); let partitioning = self.partitioning.clone(); - let _: JoinHandle> = tokio::spawn(async move { + let join_handle: JoinHandle> = tokio::spawn(async move { let mut stream = input.execute(i).await?; let mut counter = 0; while let Some(result) = stream.next().await { @@ -157,6 +157,10 @@ impl ExecutionPlan for RepartitionExec { } Ok(()) }); + join_handle + .await + .map(|_| ()) + .map_err(|e| DataFusionError::Execution(e.to_string()))?; } }