Skip to content

Move ChildrenIsolatorUnionExec injection out of the inject_network_boundaries function #539

Description

@gabotechs

There's one architectural decision that has worked really well in this project:

While injecting network boundaries, the single-node plan is already fully formed, good for a single-node execution, and with all the appropriate ExecutionPlans already in place.

This rule is broken by the way we currently inject the ChildrenIsolatorUnionExec nodes, which are inserted in one of the top-down recursive passes of the distributed planner.

It would be nice to refactor this, and do something similar that:

  1. Injects the ChildrenIsolatorUnionExec before the distributed planner injects any network boundary (similar to how we inject BroadcastExec beforehand).
  2. Make inject_network_boundaries react to the presence of a ChildrenIsolatorUnionExec and do the per-task children assignment there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions