Skip to content

[C++] Simplify ExecNode contract by removing the concept of "node finished" #15130

@westonpace

Description

@westonpace

Describe the enhancement requested

We've slowly been migrating to a model where all work done by the exec plan happens via the scheduler. We are at a point now where it is mostly true that "a plan is done when all of its tasks are done". We can get rid of ExecNode::finished() which has led to a few deadlocks in the exec plan because nodes would fail to mark this future finished in an error case. Any work that is not being tracked by scheduler tasks (e.g. some stuff in the source node and asof join node) should be handled by an "external task".

Component(s)

C++

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions