Skip to content

Commit b65464e

Browse files
Implement the with_new_children for ShuffleReaderExec (#821)
Co-authored-by: yangzhong <[email protected]>
1 parent ecd6e13 commit b65464e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

ballista/core/src/execution_plans/shuffle_reader.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use datafusion::arrow::error::ArrowError;
3333
use datafusion::arrow::ipc::reader::FileReader;
3434
use datafusion::arrow::record_batch::RecordBatch;
3535

36-
use datafusion::error::{DataFusionError, Result};
36+
use datafusion::error::Result;
3737
use datafusion::physical_plan::expressions::PhysicalSortExpr;
3838
use datafusion::physical_plan::metrics::{ExecutionPlanMetricsSet, MetricsSet};
3939
use datafusion::physical_plan::{
@@ -110,9 +110,11 @@ impl ExecutionPlan for ShuffleReaderExec {
110110
self: Arc<Self>,
111111
_children: Vec<Arc<dyn ExecutionPlan>>,
112112
) -> Result<Arc<dyn ExecutionPlan>> {
113-
Err(DataFusionError::Plan(
114-
"Ballista ShuffleReaderExec does not support with_new_children()".to_owned(),
115-
))
113+
Ok(Arc::new(ShuffleReaderExec::try_new(
114+
self.stage_id,
115+
self.partition.clone(),
116+
self.schema.clone(),
117+
)?))
116118
}
117119

118120
fn execute(
@@ -432,6 +434,7 @@ mod tests {
432434
use datafusion::arrow::datatypes::{DataType, Field, Schema};
433435
use datafusion::arrow::ipc::writer::FileWriter;
434436
use datafusion::arrow::record_batch::RecordBatch;
437+
use datafusion::common::DataFusionError;
435438
use datafusion::physical_expr::expressions::Column;
436439
use datafusion::physical_plan::common;
437440
use datafusion::physical_plan::memory::MemoryExec;

0 commit comments

Comments
 (0)