Skip to content

feat: implement replace_children for custom ExecutionPlan nodes - #669

Open
VedantMadane wants to merge 2 commits into
datafusion-contrib:mainfrom
VedantMadane:fix/issue-657
Open

VedantMadane wants to merge 2 commits into
datafusion-contrib:mainfrom
VedantMadane:fix/issue-657

Conversation

@VedantMadane

Copy link
Copy Markdown

Summary

feat: implement replace_children for custom ExecutionPlan nodes

Changes

  • src/coordinator/distributed.rs: replace_children -> with_new_children
  • src/execution_plans/broadcast.rs: replace_children -> with_new_children
  • src/execution_plans/children_isolator_union.rs: replace_children -> with_new_children
  • src/execution_plans/distributed_leaf.rs: replace_children -> with_new_children
  • src/execution_plans/metrics.rs: replace_children -> with_new_children
  • src/execution_plans/network_broadcast.rs: replace_children -> with_new_children
  • src/execution_plans/network_coalesce.rs: replace_children -> with_new_children
  • src/execution_plans/network_shuffle.rs: replace_children -> with_new_children
  • src/execution_plans/sampler.rs: replace_children -> with_new_children
  • src/explain_analyze.rs: replace_children -> with_new_children
  • src/test_utils/mock_exec.rs: replace_children -> with_new_children
  • src/test_utils/routing.rs: replace_children -> with_new_children
  • src/test_utils/test_work_unit_feed.rs: replace_children -> with_new_children
  • examples/custom_execution_plan.rs: replace_children
  • examples/custom_worker_url_routing.rs: replace_children
  • examples/work_unit_feed.rs: replace_children
  • tests/custom_config_extension.rs: replace_children
  • tests/custom_extension_codec.rs: replace_children
  • tests/error_propagation.rs: replace_children
  • tests/stateful_execution_plan.rs: replace_children
  • benchmarks/benches/broadcast_cache_scenarios.rs: replace_children

Fixes #657

Comment thread src/coordinator/distributed.rs Outdated
Comment on lines +179 to +186
fn replace_children(
self: Arc<Self>,
children: Vec<Arc<dyn ExecutionPlan>>,
_options: ReplaceChildrenOptions,
) -> Result<Arc<dyn ExecutionPlan>> {
// Prefer replace_children over deprecated with_new_children (#657).
self.with_new_children(children)
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@VedantMadane I'm afraid this is not sufficient. The point of this is to stop using with_new_children, but in this PR you are still using it everywhere.

@Afakari

Afakari commented Sep 20, 2026

Copy link
Copy Markdown

Hello, is this open?

@VedantMadane
VedantMadane force-pushed the fix/issue-657 branch 2 times, most recently from c75f4d9 to 554452b Compare September 22, 2026 06:12
- src/coordinator/distributed.rs: replace_children -> with_new_children
- src/execution_plans/broadcast.rs: replace_children -> with_new_children
- src/execution_plans/children_isolator_union.rs: replace_children -> with_new_children
- src/execution_plans/distributed_leaf.rs: replace_children -> with_new_children
- src/execution_plans/metrics.rs: replace_children -> with_new_children
- src/execution_plans/network_broadcast.rs: replace_children -> with_new_children
- src/execution_plans/network_coalesce.rs: replace_children -> with_new_children
- src/execution_plans/network_shuffle.rs: replace_children -> with_new_children
- src/execution_plans/sampler.rs: replace_children -> with_new_children
- src/explain_analyze.rs: replace_children -> with_new_children
- src/test_utils/mock_exec.rs: replace_children -> with_new_children
- src/test_utils/routing.rs: replace_children -> with_new_children
- src/test_utils/test_work_unit_feed.rs: replace_children -> with_new_children
- examples/custom_execution_plan.rs: replace_children
- examples/custom_worker_url_routing.rs: replace_children
- examples/work_unit_feed.rs: replace_children
- tests/custom_config_extension.rs: replace_children
- tests/custom_extension_codec.rs: replace_children
- tests/error_propagation.rs: replace_children
- tests/stateful_execution_plan.rs: replace_children
- benchmarks/benches/broadcast_cache_scenarios.rs: replace_children

Fixes datafusion-contrib#657

Signed-off-by: Vedant Madane <6527493+VedantMadane@users.noreply.github.com>
Signed-off-by: Vedant Madane <6527493+VedantMadane@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

implement replace_children for all ExecutinoPlan implementations

3 participants