yjshen commented on a change in pull request #1596:
URL: https://github.com/apache/arrow-datafusion/pull/1596#discussion_r787325876
##########
File path: datafusion/src/physical_plan/sorts/sort.rs
##########
@@ -159,14 +561,25 @@ impl ExecutionPlan for SortExec {
}
}
- let baseline_metrics = BaselineMetrics::new(&self.metrics, partition);
- let input = self.input.execute(partition, runtime).await?;
+ let input = self.input.execute(partition, runtime.clone()).await?;
- Ok(Box::pin(SortStream::new(
+ external_sort(
input,
+ partition,
self.expr.clone(),
- baseline_metrics,
- )))
+ self.all_metrics.clone(),
+ runtime,
+ )
+ .await
+ }
+
+ fn metrics(&self) -> Option<MetricsSet> {
+ let metrics = ExecutionPlanMetricsSet::new();
+ let baseline = BaselineMetrics::new(&metrics, 0);
Review comment:
Currently, multiple intermediate phases are used during sort that will
also produce `output_rows`as well. So I have to accumulate all compute time
metrics but only merge final sort `output_rows`. any suggestions?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]